【问题标题】:How can I upgrade distribute package on Heroku?如何在 Heroku 上升级分发包?
【发布时间】:2012-10-12 20:27:17
【问题描述】:

我需要在 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,

【问题讨论】:

    标签: python heroku virtualenv pip


    【解决方案1】:

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

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

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

    4. 再次按下。它应该可以工作。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-13
        • 1970-01-01
        • 2012-03-17
        • 2021-01-23
        相关资源
        最近更新 更多