在谈论the official Python tutorial等虚拟环境时,有些指南提及pyvenv
(pyvenv
pyenv
) 。其他人提及virtualenv
,例如the Hitchhiker's Guide to Python。我已经尝试了pyvenv
,我认为它有效,你可以看到:
这些是ve
目录的内容:
那么pyvenv
可以用来创建虚拟环境吗? virtualenv
与pyvenv
的做法是否相同?哪一个最好用?
答案 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
类似的方式统一virtualenv
和npm
。您可以使用它来安装和管理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
。