python - python3 venv 看到来自 python2 的包
问题描述
我并排安装了 Python2.7 和 Python 3.7。当我在 Python3.7 项目中创建一个 venv 时,它“看到”了 Python2.7 的全局包,即:我正在运行一个烧瓶项目而没有安装任何东西(甚至烧瓶)并且它可以工作,因为所有必需的包都存在在2.7安装。
当我python -v
在 venv 中运行时,我得到 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)]
编辑:我发现我c:\Python27
在我的 PATH 中,如果我删除它,一切都会按预期工作。但其他事情对我来说很糟糕。有没有办法仅在激活虚拟环境时从路径中删除 Python27?
编辑:这是我的pyvenv.cfg
:
home = c:\Python37
include-system-site-packages = false
version = 3.7.2
如何将 venv 与本地环境的其他部分完全分开?
谢谢
解决方案
虚拟环境的整体理念是它是一个没有安装任何 pip 库的全新工作环境。
如果您激活您的虚拟环境,您应该不会看到任何已安装的软件包,除非您明确安装它们。
几点建议:
1.尝试从python2.7全局包中卸载flask,看看会发生什么。
2. 从 python3.7 重复相同的操作。
3. 确保 python2.7 和 python3.7 有不同的别名,并使用正确的别名来创建 vend 。
推荐阅读
- fabricjs - 如何复制 IText 样式以获得明确的字符
- rust - 两个 NEAR 协议智能合约之间的交叉通信命名结构是如何确定的?
- mysql - 是否有更快的方法从表中选择记录并查询其子表
- mysql - 添加外键约束的规则
- javascript - 如何让jquery动画函数并行运行?
- ios - Swift / iOS:发出 HTTP GET 请求而不跟随重定向
- struct - Solidity:在映射中创建包含映射的结构时出现问题
- javascript - 需要帮助来检索 Javascript 中的谷歌文档信息(我是新手)
- reactjs - 我可以在 React 中使用 MobX 完全摆脱 useCallback 和 useMemo 吗?
- lua - Why the script doesn't work on by line which is I wrote?