最近开发python项目时该用python3.6版本,在开发中遇到了一些问题,在这里记录一下。
一、python3虚拟环境的创建
电脑上有python2.7和python3.6两个python环境,默认为python2.7。所以在使用python3.6进行开发时,在创建虚拟环境时就需要指定python版本。命令如下:
virtualenv -p python3 xxxx
这里分享一个查看历史命令的命令:
history | grep virtu
能看到以virtu开头的相关命令:
二、pip安装第三方包时报错:
安装命令:
pip install -r requirements.txt
报错如下:
报错内容如下:
ERROR: Command errored out with exit status 1:
command: 'd:git_honopspreparationsvenvscriptspython.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Lenovo\AppData\Local\Temp\pip-install-j8yvzjfn
\MarkupSafe\setup.py'"'"'; __file__='"'"'C:\Users\Lenovo\AppData\Local\Temp\pip-install-j8yvzjfn\MarkupSafe\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);c
ode=f.read().replace('"'"'
'"'"', '"'"'
'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:UsersLenovoAppDataLocalTemppip-install-j8yvzjfn
MarkupSafepip-egg-info'
cwd: C:UsersLenovoAppDataLocalTemppip-install-j8yvzjfnMarkupSafe
Complete output (5 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:UsersLenovoAppDataLocalTemppip-install-j8yvzjfnMarkupSafesetup.py", line 6, in <module>
from setuptools import setup, Extension, Feature
ImportError: cannot import name 'Feature'
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
查阅相关文档发现是setuptool版本的问题,python3源中的setuptools已经升级到46以上。所以导致pip安装失败
更新setuptools版本。
解决方法:
pip install setuptools==45.2.0
安装之后,在此执行 pip install -r requirements.txt
,即可成功。