如何删除/删除 virtualenv?

Posted

技术标签:

【中文标题】如何删除/删除 virtualenv?【英文标题】:How do I remove/delete a virtualenv? 【发布时间】:2012-06-15 20:30:39 【问题描述】:

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

我无法使用以下命令将其删除:rmvirtualenv venv - 这是answer below for virtualenvwrapper 中提到的virtualenvwrapper 的一部分

我在当前目录上执行了ls,但我仍然看到 venv

我可以删除它的唯一方法似乎是:sudo rm -rf venv

请注意,环境未激活。我正在运行 Ubuntu 11.10。有任何想法吗?我已经尝试重新启动我的系统无济于事。

【问题讨论】:

删除目录即可。 鸣喇叭:sudo rmvirtualenv venv 不是有效命令。不知道为什么我认为重新启动会有所帮助。老实说,我还很新。 请注意,rmvirtualenv 带有 virtualenvwrapper。您需要安装它才能使其工作。 请注意,您也可以删除所有当前安装的软件包,但如果您安装了 virtualenvwrapper,请保留虚拟环境本身:$ virtualenv --clear path_to_my_venv。我不时使用它来确保我没有手动安装任何东西,例如 requirements.txt 中不再存在的旧依赖项。 sudo 在正常情况下应该是不必要的。虚拟环境的全部意义在于您可以使用常规用户帐户对其进行操作。 【参考方案1】:

我可以删除它的唯一方法似乎是:sudo rm -rf venv

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

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

【讨论】:

值得注意的是,如果您使用 pip 安装依赖项,您可能希望 pip 冻结依赖项列表并保留在***目录中。如果您稍后选择部署您的应用程序,您将不会有一点麻烦。 当正确答案就在下面时,为什么会被接受并获得如此多的选票?也许这是针对旧版本的 virtualenvwarpper @jsbueno 他使用的是 virtualenv,而不是 virtualenvwrapper(它们不是同一个程序)。当时,virtualenv 没有提供清理的接口;你必须自己做。 如果你在 git repo 中创建了 virtualenv(并且文件不会被忽略):git clean -dffx 在 Win10 中为我工作。我刚刚停用了环境,然后删除了所有文件夹/文件。【参考方案2】:

只是为了回应@skytreader 之前的评论,rmvirtualenvvirtualenvwrapper 提供的命令,而不是virtualenv。也许你没有安装virtualenvwrapper

更多详情请见VirtualEnvWrapper Command Reference。

【讨论】:

【参考方案3】:

使用rmvirtualenv

删除一个环境,在$WORKON_HOME

语法:

rmvirtualenv ENVNAME

您必须在删除当前环境之前使用 deactivate。

$ rmvirtualenv my_env

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

【讨论】:

甚至还有 tab 完成支持! 请注意,这个答案是错误的,因为 OP 从未说过他们有 virtualenvwrapper @KevinDTimm 是的,但是对于我们这些使用 virtualenvwrapper 的人来说,这个答案比正确的要“正确”!【参考方案4】:

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

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

source venv/bin/activate
pip freeze > requirements.txt
pip uninstall -r requirements.txt -y
deactivate
rm -r venv/

【讨论】:

我认为您在rm -r venv/ 之前缺少deactivate 并且critically仅在您不共享系统的pip 时才这样做! (否则您将卸载所有系统包。) 实际上,如果您通过rm 删除所有软件包,实际上应该不需要单独pip uninstall。跳过该步骤也可以避免前面评论中指出的风险。【参考方案5】:

只需从系统中删除虚拟环境即可。没有特殊的命令

rm -rf venv

【讨论】:

对我有用。如果您的虚拟环境仍在运行,请务必先停用。 (你的虚拟环境)>停用>rm -rf "你的虚拟环境" 我发现不需要-f 标志。我宁愿尽可能避免使用该标志。【参考方案6】:

如果你使用的是pyenv,可以删除你的虚拟环境:

$ pyenv virtualenv-delete <name>

【讨论】:

您也可以将pyenv uninstall &lt;name&gt; 作为等效命令运行【参考方案7】:

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

删除环境

删除虚拟环境只需将其停用并删除环境文件夹及其所有内容即可:

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

【讨论】:

@Sébastien 不,您不需要sudo 或类似权限,除非您还使用它们来设置环境,这通常会出错。 您答案中的链接目前已损坏。【参考方案8】:

1。移除 Python 环境

没有删除 virtualenv 的命令,因此您需要手动执行此操作,如果您打开了它,则需要 deactivate 并删除文件夹:

deactivate
rm -rf <env path>

2。创建一个环境。使用另一个 Python 版本

当您创建环境时,python 默认使用当前版本,因此如果您想要另一个环境,则需要在创建时指定。制作和环境。使用名为MyEnv 的 Python 3.X 只需键入:

python3.X -m venv MyEnv

现在使用 Python 2.X 使用 virtualenv 而不是 venv

python2.X -m virtualenv MyEnv

3。列出我机器上的所有 Python 版本

如果前面的任何代码行不起作用,您可能没有安装特定版本。首先列出您的所有版本:

ls -ls /usr/bin/python*

如果没有找到,请使用apt-get 安装 Python 3.X:

sudo apt-get install python3.X

【讨论】:

【参考方案9】:

我用pyenv uninstall my_virt_env_name删除了虚拟环境。

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

【讨论】:

这显然只有在你使用pyenv时才有效。【参考方案10】:

以下命令对我有用。

rm -rf /path/to/virtualenv

【讨论】:

这里也一样,这样做有什么已知的副作用吗?我只是删除了venv 文件夹 我没有得到任何副作用【参考方案11】:

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

确保停用虚拟环境或重新启动 Anaconda Prompt。使用以下命令删除虚拟环境:

$ conda env remove --name $MyEnvironmentName

或者,你可以去

C:\Users\USERNAME\AppData\Local\Continuum\anaconda3\envs\MYENVIRONMENTNAME

(这是默认文件路径)并手动删除文件夹。

【讨论】:

添加到答案 $MyEnvironmentName 只是没有 $sign 的 MyEnvironmentName【参考方案12】:

实际上需要两次删除。

这个帖子里的每个人都已经说过你只需手动删除或使用rm -r projectfoldername删除的项目文件夹

但是你还需要删除位于 macOS /Users/edison/.pyenv/versions/3.8.0/envs/myspecialenv 中的实际 virtualenv。

您可以通过 pyenv virtualenv-delete myspecialenv 或手动删除来做到这一点。

【讨论】:

【参考方案13】:

如果你是 windows 用户,那么它在 C:\Users\your_user_name\Envs 中。您可以从那里删除它。

还可以在命令提示符下尝试 rmvirtualenv 环境名称。

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

【讨论】:

其实这不是真的。虚拟环境的位置实际上取决于您执行virtualenv 命令的位置。例如:C:\&gt;virtualenv my_awesome_venv 将在C:\my_awesome_venv 中创建虚拟环境。 我说的是虚拟包装器。我的错误【参考方案14】:

deactivate 是您要查找的命令。就像已经说过的那样,没有删除虚拟环境的命令。只需停用它!

【讨论】:

这不能回答问题。你是对的,你通常不需要破坏你的 virtualenv,但这就是 OP 似乎在问的问题。【参考方案15】:

如果您是 windows 用户,您也可以通过以下方式删除环境:C:/Users/username/Anaconda3/envs 在这里您可以看到虚拟环境列表并删除您不再需要的环境。

【讨论】:

【参考方案16】:

您可以按照以下步骤删除与 virtualenv 关联的所有文件,然后重新安装 virtualenv 并使用它

cd python virtualenv folder

find broken virtualenv/ -type l                             ## to list out all the links

deactivate                                           ## deactivate if virtualenv is active

find broken virtualenv/ -type l -delete                    ## to delete the broken links

virtualenv broken virtualenv --python=python3           ## recreate links to OS's python

workon broken virtualenv                       ## activate & workon the fixed virtualenv

pip3 install  ... other packages required for the project

【讨论】:

【参考方案17】:

第1步:通过复制并粘贴以下命令来删除virtualenv virtualenvwrapper:

$ sudo pip uninstall virtualenv virtualenvwrapper

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

打开终端:

$ sudo nano .bashrc

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

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

接下来,获取 .bashrc:

$ source ~/.bashrc

最后步骤:不使用终端/shell 转到 /home 并找到 .virtualenv(我忘记了名称,所以如果您找到类似于 .virtualenv.venv 的内容,只需将其删除即可。这样就可以了。

【讨论】:

这似乎回答了一个完全不同的问题,并且应该带有一个巨大的警告。一些建议也很糟糕(再次采购您的.bashrc 没有任何用处,并且可能产生不受欢迎的后果)。

以上是关于如何删除/删除 virtualenv?的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 PIP 安装的所有软件包? [复制]

sh 删除并重新创建virtualenv然后安装当前的python包

Macbook下virtualenv无法使用解决办法

virtualenv -p 创建新虚拟环境时删除 sys.prefix 文件路径的最后一部分

Django 1.7 + Django CMS - 从我的仓库中删除迁移文件或在仓库中包含 virtualenv?

Python学习笔记