当我使用python 3.3时,python包virtualenv有必要吗?

2024-07-07 08:56:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在查看Cristoph Gohlke's python packages时注意到有一个用于Python 3.3的Virtualenv包。

由于在标准python库v3.3中有一个包venv,我想知道单独安装这个包是否有好处。

编辑:从这两个包的文档来看,virtualenv 1.8.2venv我可以说venv标准库包缺少以下功能:

  1. --no-site-packages选项
  2. 在设置工具或分发之间进行选择
  3. 无法安装pip,因为它在默认python安装中不可用
  4. 虚拟环境中不自定义提示前缀--prompt=PROMPT

如果还有其他我无法发现的差异,请写在这里。


Tags: 工具no文档功能编辑标准virtualenvvenv
3条回答

pyvenv是为Python 3.3和3.4创建虚拟环境的推荐工具

从Python3.5开始使用:

Python3-m静脉

venv是一个内置模块,可以访问python的内部

pyvenv在3.6中被弃用

来源:https://docs.python.org/3/library/venv.html

为了这个问题

stdlib中的venv是否需要python包virtualenv?

(或者有什么区别?)

  1. --no-site-packages是两者的默认值。存在--system-site-packages选项,但是it's broken
  2. distribute is deprecated。。。这里没什么可看的
  3. 从Python3.4开始,ensurepip将在virtualenv中提供pip。要让它在Ubuntu/Debian上运行,请确保安装python3-venv
  4. 此处无更改

当venv第一次发布时,我希望它能进入维护模式,为“老Python的virtualenv”提供bug修复,所有的开发都会转移到stdlibvenv上。我不确定virtualenv的项目目标/路线图,但我担心我希望的事情不会发生。所以,至少目前,我会继续使用最初的virtualenv。

通常,使用python3.3或更高版本时不需要virtualenv包,因为它是通过PEP 405合并到标准库中的。正如您在问题中注意到的,最新版本的virtualenv和标准库中的venv包之间存在一些相对较小的差异。在某种程度上(例如--no-site-packages),这源于不同的实现。由于venv在标准库中,因此不必为了创建自包含的python安装而跳过virtualenv所做的一些扭曲的环,例如复制python的site模块的大部分内容。

最好的方法是彻底阅读政治公众人物。

相关问题 更多 >