我是否使用`pyvenv`或`virtualenv`来创建虚拟环境?

时间:2016-11-29 15:23:06

标签: python virtualenv virtual-environment

在谈论the official Python tutorial等虚拟环境时,有些指南提及pyvenvpyvenv pyenv) 。其他人提及virtualenv,例如the Hitchhiker's Guide to Python。我已经尝试了pyvenv,我认为它有效,你可以看到:

这些是ve目录的内容:

那么pyvenv可以用来创建虚拟环境吗? virtualenvpyvenv的做法是否相同?哪一个最好用?

4 个答案:

答案 0 :(得分:3)

他们非常相像。主要区别在于virtualenv已经存在了很长时间,并且可以在大多数设置中使用。

另一方面,

pyvenv是为Python3设计的,自版本3.4起随附标准库。

换句话说,virtualenv是经典的选择,而pyvenv是标准库的最新成员。我想pyvenv最终会取代virtualenv(一旦Python 3取代Python 2:P)

答案 1 :(得分:3)

pyvenv基本上是venv module的包装器,它是自Python 3.3以来标准库的一部分,是从那时起创建虚拟环境的推荐方法。实际上pyvenv包装器并不是那么推荐的。在Python> = 3.3上,请考虑直接使用venv模块,如链接文档中所述。较旧的Python版本应使用virtualenv来创建虚拟环境。

答案 2 :(得分:1)

使用pipenv工具以与pip类似的方式统一virtualenvnpm。您可以使用它来安装和管理virtualenvs和依赖项。

答案 3 :(得分:1)

如何创建虚拟环境取决于您使用的是Python 3还是2。

  • virtualenv是用于创建隔离的Python环境的工具。它可以与Python 2和3一起使用。

  • public override decimal CalculateCharge() { decimal peak; decimal offpeak; if (Kwh1 <= INDUST_BASE_HOURS) { peak = KWH_PEAK_BASE_PRICE; } else { peak = ((Kwh1 - INDUST_BASE_HOURS) * KWH_INDUST_PEAK) + KWH_PEAK_BASE_PRICE; } if (Kwh2 <= INDUST_BASE_HOURS) { offpeak = KWH_OFF_PEAK_BASE_PRICE; } else { offpeak = ((Kwh2 - INDUST_BASE_HOURS) * KWH_INDUST_OFFPEAK) + KWH_OFF_PEAK_BASE_PRICE; } return peak + offpeak; } 是在Python 3.3中引入的,自Python 3.6起是deprecated,而赞成使用pyvenv,并且计划在Python 3.8中消失。

作为实用建议,根据您的Python版本,使用以下命令创建一个名为python3 -m venv的虚拟环境:

venv

无论使用哪种Python版本,都会创建一个包含虚拟环境文件的文件夹$ virtualenv venv # in Python 2 $ python3 -m venv venv # Python 3