将python应用程序推送到Heroku,我得到了这个:
! The package setuptools/distribute is listed in requirements.txt.
! Please remove to ensure expected behavior.
文档显式地在它们的requirements.txt文件中包含了distribute,当我删除它时,我得到了这个(这显然依赖于distribute):
Traceback (most recent call last):
File "/app/.heroku/python/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
! Push rejected, failed to compile Python app
这个问题很老了,但是对于那些偶然发现这个问题并且仍然需要答案的人来说,你应该尝试升级你的Heroku构建包(在dynos上构建应用程序的脚本集合)。这将更新pip(以及其他东西),因为您不能完全按照Mauro的建议去做,因为代码被部署到Heroku dynos上。
更多关于构建包的信息:https://devcenter.heroku.com/articles/buildpacks
但如果你不想读这篇文章,就按
$ heroku buildpacks:set https://github.com/heroku/heroku-buildpack-python
升级setuptools
和distribute
。
pip install --upgrade setuptools
pip install --upgrade distribute
更新requirements.txt
。