- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我试图卸载 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/
我是一名优秀的程序员,十分优秀!