gpt4 book ai didi

python - 如何在 heroku cedar 堆栈上使用 virtualenv 进行 pip 卸载?

转载 作者:IT老高 更新时间:2023-10-28 20:30:02 26 4
gpt4 key购买 nike

我试图卸载 heroku 上的一个模块:

heroku 运行 bin/python bin/pip 卸载任何东西

Pip 在/app 树中显示模块,然后声称已卸载该模块,但再次运行相同的命令显示它已安装在/app 树中的相同位置。

有没有办法让 pip uinstall 成功?


Heroku run 实例化一个新的测功机并仅运行该测功机中指定的命令。 Dynos 是短暂的,这就是为什么 pip 卸载的结果不粘的原因。

最佳答案

2013-09-30 更新:当前清除 virtualenv 的方法似乎在 runtime.txt as stated on Github 中指定了不同的 python 运行时版本在 Heroku's devcenter reference .

请注意,Heroku 目前“仅认可并支持使用 Python 2.7.4 和 3.3.2”,因此除非您的应用程序同时支持 Python 2.7.4 和 3.3.2,否则您可能希望使用您自己的运行时对其进行测试'会想要切换到(当前可在 http://envy-versions.s3.amazonaws.com/$PYTHON_VERSION.tar.bz2 获得,尽管切换例如在大多数情况下是 2.7.4 和 2.7.3)。

感谢@Jesse 提供最新的 answer以及让我意识到这个问题的评论者。


在 2012 年 11 月更新(我没有更新链接的 buildpack,我的拉取请求已关闭,并且官方 buildpack 在某个时候删除了 CLEAN_VIRTUALENV 功能) :

正如 David 所解释的,您不能 pip 卸载一个包,但您可以清除并重新安装整个 virtualenv。使用 user-env-compile CLEAN_VIRTUALENV option 的实验室功能清除 virtualenv:

heroku labs:enable user-env-compile
heroku config:add CLEAN_VIRTUALENV=true

目前这不起作用,因为存在错误。您需要使用 my fork直到这个 get fixed upstream (拉取请求已关闭):

heroku config:add BUILDPACK_URL=https://github.com/blaze33/heroku-buildpack-python.git

现在推送你的新代码,你会发现整个 virtualenv 都被重新安装了。

Andrey 的回答自 2012 年 3 月 23 日起不再有效。new style virtualenv commit 将虚拟环境从/app 移动到/app/.heroku/venv 但清除分支没有更新以 catch ,因此您最终会得到一个不在 PYTHONHOME 中的虚拟环境。

为避免在每次推送后重新安装所有内容,请禁用该选项:

heroku labs:disable user-env-compile
heroku config:remove CLEAN_VIRTUALENV BUILDPACK_URL

关于python - 如何在 heroku cedar 堆栈上使用 virtualenv 进行 pip 卸载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8937905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com