关于python:如何删除/删除virtualenv?

How do I remove/delete a virtualenv?

我用以下命令创建了一个环境:virtualenv venv --distribute

我不能用以下命令删除它:rmvirtualenv venv。-这是virtualenvwrapper的一部分,如下面针对virtualenvwrapper的回答中所述。

我在我当前的目录上做了一个ls,我仍然能看到venv

我唯一能移除它的方法似乎是:sudo rm -rf venv

请注意,环境不是活动的。我在运行Ubuntu 11.10。有什么想法吗?我试图重新启动系统,但没有成功。


就是这样!没有删除虚拟环境的命令。只需停用它并通过递归地删除它来消除应用程序中的工件。

请注意,无论您使用的是哪种虚拟环境,这都是相同的。virtualenvvenv、Python环境、pyenvpipenv都是基于相同的原理。


正如@skytrader之前所评论的,rmvirtualenvvirtualenvwrapper提供的命令,而不是virtualenv。也许你没有安装virtualenvwrapper

有关详细信息,请参阅virtualenvwrapper命令参考。


使用rmvirtualenv

$WORKON_HOME中移除环境。

Syntax:

1
rmvirtualenv ENVNAME

删除当前环境之前必须使用"停用"。

1
$ rmvirtualenv my_env

参考:http://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html


通过递归地卸载所有依赖项,然后删除venv,可以删除所有依赖项。

编辑包括艾萨克·特纳评论

1
2
3
4
5
source venv/bin/activate
pip freeze > requirements.txt
pip uninstall -r requirements.txt -y
deactivate
rm -r venv/


来自virtualenv的官方文档https://virtualenv.pypa.io/en/stable/userguide/

Removing an Environment

Removing a virtual environment is simply done by deactivating it and deleting the environment folder with all its contents:

1
2
(ENV)$ deactivate
$ rm -r /path/to/ENV


只需从系统中删除虚拟环境,没有针对它的特殊命令

1
rm -rf venv


我用pyenv uninstall my_virt_env_name删除了病毒环境。

注意:我正在使用通过安装脚本安装的pyenv virtualenv。


如果使用pyenv,则可以删除虚拟环境:

1
$ pyenv virtualenv-delete <name>

以下命令对我有效。

1
rm -rf /path/to/virtualenv

如果您是Windows用户,则它位于C:user syouruserameenvs中。你可以从那里删除它。

也可以在命令提示符rmvirtualenv environment name中尝试。

我尝试使用命令提示,所以它说"删除",但它仍然存在。所以我手动删除它。


如果您是Windows用户,并且正在Anaconda提示符下使用Conda管理环境,则可以执行以下操作:

请确保停用虚拟环境或重新启动"Python"提示。使用以下命令删除虚拟环境:

1
$ conda env remove --name $MyEnvironmentName

或者,您可以转到c:usersusernameappdatalocalcontinuumanaconda3envsmyenvironmentname(这是默认文件路径),然后手动删除文件夹。


你要找的是deactivate命令。正如已经说过的,没有删除虚拟环境的命令。只需停用它!


步骤1:通过复制并粘贴以下命令删除virtualenv virtualenwrapper:

1
$ sudo pip uninstall virtualenv virtualenvwrapper

步骤2:转到.bashrc并删除所有virtualenv和virtualenvwrapper

开放终端:

1
$ sudo nano .bashrc

向下滚动,您将看到下面的代码,然后将其删除。

1
2
3
4
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

接下来,找到.bashrc:

1
$ source ~/.bashrc

最后一步:如果没有终端/外壳,去/回家找到.virtualenv(我忘记了名字,所以如果你的发现与.virtualenv.venv相似,就删除它。那行得通。


所以,我做了一点谷歌,但没有一个答案是令人满意的。

但意外的是,在浏览pip(安装支持python的软件包的实用程序virtualenv就是其中之一)的手册页时,它被记录为对pip使用"uninstall"关键字,下面是直接从我的终端输出的确切结果。

1
indresh-VBX] **$ sudo pip uninstall virtualenv**

目录'/home/indresh/.cache/pip/http'或其父目录不属于当前用户,缓存已被禁用。请检查该目录的权限和所有者。如果使用sudo执行pip,则可能需要sudo的-h标志。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Uninstalling virtualenv-15.1.0:
  /usr/bin/virtualenv

  /usr/local/bin/virtualenv
  /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/DESCRIPTION.rst
  /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/INSTALLER
  /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/METADATA
  /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/RECORD
  /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/WHEEL
  /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/entry_points.txt
  /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/metadata.json
  /usr/local/lib/python2.7/dist-packages/virtualenv-15.1.0.dist-info/top_level.txt
  /usr/local/lib/python2.7/dist-packages/virtualenv.py
  /usr/local/lib/python2.7/dist-packages/virtualenv.pyc
  /usr/local/lib/python2.7/dist-packages/virtuakmr.ndrsh@gmail.comlenv_support/__init__.py
  /usr/local/lib/python2.7/dist-packages/virtualenv_support/__init__.pyc
  /usr/local/lib/python2.7/dist-packages/virtualenv_support/argparse-1.4.0-py2.py3-none-any.whl
  /usr/local/lib/python2.7/dist-packages/virtualenv_support/pip-9.0.1-py2.py3-none-any.whl
  /usr/local/lib/python2.7/dist-packages/virtualenv_support/setuptools-28.8.0-py2.py3-none-any.whl
  /usr/local/lib/python2.7/dist-packages/virtualenv_support/wheel-0.29.0-py2.py3-none-any.whl
Proceed (y/n)? y
  Successfully uninstalled virtualenv-15.1.0
The directory '/home/indresh/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
--------------------------------