最近開發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 "<string>", line 1, in <module>
File "C:\Users\Lenovo\AppData\Local\Temp\pip-install-j8yvzjfn\MarkupSafe\setup.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
,即可成功。