如何在Heroku上升级分发包?

时间:2012-10-12 20:27:18

标签: python heroku virtualenv pip

我需要在Heroku上运行分发版本0.6.28。我更新了我的requirements.txt,但这似乎没有效果。

我正在尝试从tarball中安装一个需要此更高版本的分发包的模块。

在部署期间,我只能得到这个:

     Running setup.py egg_info for package from http://downloads.sourceforge.net/project/mysql-python/mysql-python-test/1.2.4b4/MySQL-python-1.2.4b4.tar.gz
       The required version of distribute (>=0.6.28) is not available,
       and can't be installed while this script is running. Please
       install a more recent version first, using
       'easy_install -U distribute'.

       (Currently using distribute 0.6.27 (/tmp/build_ibj6h3in4vgp/.heroku/venv/lib/python2.7/site-packages/distribute-0.6.27-py2.7.egg))
       Complete output from command python setup.py egg_info:
       The required version of distribute (>=0.6.28) is not available,

2 个答案:

答案 0 :(得分:2)

好的,这是一个目前可行的解决方案。长期修复我认为是Heroku升级他们的发行版本。

  1. fork the python buildpack:https://github.com/heroku/heroku-buildpack-python/
  2. 将所需的要求添加到包中(我将它们放在bin / compile中,就在其他pip安装要求步骤之前)。有关该差异,请参阅https://github.com/buildingenergy/heroku-buildpack-python/commit/12635e22aa3a3651f9bedb3b326e2cb4fd1d2a4b
  3. 更改应用的构建包:

    heroku config:添加BUILDPACK_URL = git://github.com/heroku/heroku-buildpack-python.git

  4. 再次推。它应该工作。

答案 1 :(得分:-1)

尝试在第一次推送时将特定版本的分发添加到依赖项,然后添加所需的依赖项。

cat requirements.txt
...
distribute==0.6.28
...
git push heroku master
...
cat requirements.txt
...
your deps here