python3 使用时遇到的问题

最近开发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,即可成功。

原文地址:https://www.cnblogs.com/wangyingblock/p/12784821.html