最近开发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_honops\preparations\venv\scripts\python.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('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Lenovo\AppData\Local\Temp\pip-install-j8yvzjfn\
MarkupSafe\pip-egg-info'
cwd: C:\Users\Lenovo\AppData\Local\Temp\pip-install-j8yvzjfn\MarkupSafe\
Complete output (5 lines):
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\Lenovo\AppData\Local\Temp\pip-install-j8yvzjfn\MarkupSafe\setup.py", line 6, in
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,即可成功。