在浏览virtualenv之后,我的印象是应该为我创建的每个项目创建虚拟环境(相关并使用相同的站点包)。
这是真的,为什么或为什么不呢?
此外,如果我目前正在为我的某个项目使用virtualenv,那么在升级包时会如何进行升级呢?
答案 0 :(得分:1)
通常这被认为是良好的做法。但是,请记住,如果您有多个大型项目,这可能会相当快地导致磁盘消耗。此外,如果您的项目中具有低级系统集成,有时virtualenv可能不合适。
如果您正在共享项目,最好发布pip的需求文件,以便人们可以复制您的项目。 Virtualenv让这很容易。不为项目创建唯一virtualenvs的一种替代方法是指定需求文件,然后通过创建virtualenv并加载需求文件并查看项目是否运行来进行测试。
答案 1 :(得分:1)
问:我的印象是应该为我创建的每个项目创建虚拟环境(相关并使用相同的网站包)。
<强>答案:强> 否即可。您为一组具有相同特征的项目保留了一个virtualenv。
问:此外,如果我目前正在为我的某个项目使用virtualenv,那么在升级软件包时我将如何进行升级?
<强>答案:强> 在我看来,很难。你必须记住每个virtualenv是哪个版本,你创建了多少个虚拟版,每个项目有什么特征,如果你升级它们会破坏吗,其他依赖模块如果您在其中上传一个库,则会中断...,这本身就很痛苦
我做什么.. 我从来没有去过virtualenv。
答案 2 :(得分:0)
您应始终创建虚拟环境。 它易于与之交互,它可以避免项目之间的冲突。
激活环境后,您可以像这样升级所有软件包:
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U
答案 3 :(得分:0)
根据此帖子,https://rushter.com/blog/python-virtualenv/
仅将python解释器(可执行文件)和诸如pip,easy_install之类的一些内容复制到venv项目的本地目录中。所有标准库文件(例如io,random,struct ...)都是从venv目录链接的,而不是被复制的。因此,您的磁盘空间不会很快增加。