2013-09-30 更新:当前清除 virtualenv 的方法似乎在 runtime.txt as stated on Github 和 Heroku's devcenter reference 中指定了不同的 python 运行时版本。
请注意,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,我的 pull request 已关闭,并且官方 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
目前这不起作用,因为存在错误。您需要使用 buildpack 的 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 提交将虚拟环境从 /app 移动到 /app/.heroku/venv 但 purge 分支没有更新以赶上,因此您最终得到一个不在 PYTHONHOME 中的 virtualenv。
为避免在每次推送后重新安装所有内容,请禁用该选项:
heroku labs:disable user-env-compile
heroku config:remove CLEAN_VIRTUALENV BUILDPACK_URL