venv从python2看到软件包

时间:2019-02-10 13:18:10

标签: python python-3.x python-venv

我并排安装了Python2.7和Python 3.7。当我在Python3.7项目中创建venv时,它“看到”了Python2.7的全局软件包,即:我正在运行flask项目而不安装任何东西(甚至flask),并且它可以工作,因为存在所有必需的软件包在2.7安装中。

在静脉内运行python -v时得到3.7,但是在运行flask --version时得到:

Flask 0.12.2
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AMD64)]

编辑:我发现我的PATH中有c:\Python27,如果将其删除,一切将按预期进行。但是其他的事情对我来说很糟糕。仅当激活虚拟环境时,是否可以从路径中删除Python27?

编辑:这是我的pyvenv.cfg

home = c:\Python37
include-system-site-packages = false
version = 3.7.2

如何将venv与其他本地环境完全分开?

谢谢

1 个答案:

答案 0 :(得分:0)

虚拟环境的整个想法是,它是一个全新的工作环境,没有安装任何pip库。
如果激活虚拟环境,则除非明确安装它们,否则不应看到任何已安装的软件包。
几点建议:
1.尝试从python2.7全局软件包中卸载flask,然后看看会发生什么。
2.从python3.7重复同样的操作。
3.确保您对python2.7和python3.7使用不同的别名,并使用正确的别名创建vend。