Venv和内存使用,我应该担心吗?

时间:2018-05-29 21:21:40

标签: python-venv

我对使用venv相当陌生。有许多不同的包装,有没有办法告诉每个venv使用多少?当我删除一个venv时,我还删除了分配给内部所有内容的内存空间?

1 个答案:

答案 0 :(得分:1)

  

当我删除一个venv时,我还删除了分配给位于内的所有内容的内存空间?

virtualenv将生成一个单独的" 虚拟环境"可以独立于系统的Python环境使用。这允许您执行有用的操作,例如在没有root访问权限的情况下安装包,并更改默认的python解释器版本。

如您所知,设置起来很容易:

$ virtualenv -p python3.5 ./venv
Running virtualenv with interpreter /usr/bin/python3.5
Using base prefix '/usr'
New python executable in /home/attie/venv/bin/python3.5
Also creating executable in /home/attie/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.

完成此操作后,您将在venv目录中找到整个虚拟环境......并且检查它使用了多少存储空间很简单 - 在我的情况下为18MB:< / p>

$ du -hs venv
18M     venv

激活环境后,您会看到pip / python / etc ...二进制文件位于venv目录中:

$ which python
/usr/bin/python
$ . venv/bin/activate
$ which python
/home/attie/venv/bin/python

它完全独立 - 运行pip install会影响这个虚拟环境,并且根本不会改变更广泛的系统安装。

当你决定&#34; 我不再需要&#34;或者&#34; oops时,我打破了一些东西,让我们去做再次启动&#34;,您只需删除并重新初始化虚拟环境(如果需要)。

删除此目录将释放该虚拟环境使用的所有存储空间:

$ rm -rf venv

如果将项目文件放在虚拟环境的目录中(例如:在此示例中为venv),那么您也将丢失项目文件。这是推荐。

如果您将项目的文件保留在虚拟环境之外(推荐),那么删除venv目录也不会像您期望的那样整理项目文件。

值得注意的是:

  • 无法<#34; 停用&#34;虚拟环境,以及 激活&#34;一个人会改变你的贝壳的环境。因此,如果删除虚拟环境,则还需要退出该shell。
  • 虚拟环境不喜欢被移动,完全 - 他们会彻底破坏。相反,您需要删除(如果需要)并在新位置设置新的虚拟环境。