当使用python -m venv env创造python3.X一个新的虚拟环境中,env不包含pip与setuptools版本我期望的那样。相反,它包含很“旧”版本:pip (8.1.1)和setuptools (20.7.0)为2018年6月的。
在另一方面,当使用virtualenv env(通过安装pip install virtualenv),画中画和setuptools的包都是最新的,即pip (10.0.1)和setuptools (39.2.0)为2018年6月的。
据我了解,它venv是构建虚拟环境的首选模块,因为它无需创建Python解释器的新实例,并且无需安装任何内容即可使用现有模块(Linux中的符号链接,Windows中的副本)(https: //www.reddit.com/r/learnpython/comments/4hsudz/pyvenv_vs_virtualenv/d2s2cda)。
为什么说venv的pip版本不匹配当前的系统吗?而且使用的行为virtualenv是如此不同?
PS:
短期的解决方案是使用pip install --upgrade pip的env。但这对我来说似乎不对。最小可行的解决方案:
$ python --version
Python 3.6.5
$ pip --version
pip 10.0.1 from /home/lionel/.local/lib/python3.6/site-packages/pip (python 3.6)
$ python -m venv …Run Code Online (Sandbox Code Playgroud)