如何删除/删除 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
”
就是这样!没有删除虚拟环境的命令。只需将其停用并通过递归删除它来消除您的应用程序的工件。
请注意,无论您使用哪种虚拟环境,这都是相同的。 virtualenv
、venv
、Anaconda 环境、pyenv
、pipenv
都是基于同样的原理。
【讨论】:
值得注意的是,如果您使用 pip 安装依赖项,您可能希望 pip 冻结依赖项列表并保留在***目录中。如果您稍后选择部署您的应用程序,您将不会有一点麻烦。 当正确答案就在下面时,为什么会被接受并获得如此多的选票?也许这是针对旧版本的 virtualenvwarpper @jsbueno 他使用的是 virtualenv,而不是 virtualenvwrapper(它们不是同一个程序)。当时,virtualenv 没有提供清理的接口;你必须自己做。 如果你在 git repo 中创建了 virtualenv(并且文件不会被忽略):git clean -dffx
在 Win10 中为我工作。我刚刚停用了环境,然后删除了所有文件夹/文件。【参考方案2】:
只是为了回应@skytreader 之前的评论,rmvirtualenv
是virtualenvwrapper
提供的命令,而不是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 <name>
作为等效命令运行【参考方案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:\>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?的主要内容,如果未能解决你的问题,请参考以下文章
sh 删除并重新创建virtualenv然后安装当前的python包
virtualenv -p 创建新虚拟环境时删除 sys.prefix 文件路径的最后一部分