【发布时间】:2017-08-24 05:04:26
【问题描述】:
我使用的是默认安装 python 3.5 的 Ubuntu 系统。
当我使用venv 模块创建虚拟环境时,我在虚拟环境中找不到标准库,只能找到python 解释器的二进制文件。但是,当我切换到使用这个虚拟环境时,我可以在我的 python 脚本中导入标准库模块。
那么venv 是如何工作的呢?新创建的虚拟环境是否只是使用系统python的标准库?如果是这样,如果我想创建一个完全独立的虚拟环境怎么办? venv 模块可以实现这一点吗?顺便说一句,我之前用过conda。 conda 可以根据系统版本使用不同的python创建虚拟环境。 venv 可以做这个工作吗?
【问题讨论】:
-
import sys; print(sys.path)这将显示 python 在哪里寻找所有模块。您将始终获得 Python 标准模块,但您可能有权访问已安装的系统模块,也可能无权访问 - 这是虚拟环境配置的一部分。 -
@AChampion 是
venv创建的虚拟环境在全局系统python安装中看起来是标准库模块。我认为venv的这种行为很奇怪。
标签: python conda virtual-environment