【问题标题】:Heroku setup pip failHeroku 设置 pip 失败
【发布时间】:2026-02-14 09:50:02
【问题描述】:

我正在尝试将 django 应用程序部署到 Heroku,它依赖于 django-admin-tools,正如您在上面的 requirements.txt 中看到的那样

当我运行 push 命令时 Heroku 无法安装包,但我在 pypi 中看到了它

https://pypi.python.org/pypi/django-admin-tools

有什么帮助吗?

requirements.txt

MySQL-python==1.2.3
Django==1.6.2
simple-db-migrate==2.0.0
django-debug-toolbar==1.0.1
django-admin-tools==0.5.1
dj-database-url==0.2.2
dj-static==0.0.5
static==0.4

    git push heroku master







  Fetching repository, done.
    Counting objects: 8, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (6/6), done.
    Writing objects: 100% (6/6), 623 bytes, done.
    Total 6 (delta 4), reused 0 (delta 0)

    -----> Python app detected
    -----> No runtime.txt provided; assuming python-2.7.6.
    -----> Using Python runtime (python-2.7.6)
    -----> Installing dependencies using Pip (1.5.4)
           Downloading/unpacking django-admin-tools==0.5.1 (from -r requirements.txt (line 7))
             http://bitbucket.org/izi/django-admin-tools/0.5.1 uses an insecure transport scheme (http). Consider using https if bitbucket.org has it available
             http://bitbucket.org/izi/django-admin-tools/ uses an insecure transport scheme (http). Consider using https if bitbucket.org has it available
         Could not find any downloads that satisfy the requirement django-admin-tools==0.5.1 (from -r requirements.txt (line 7))
       Cleaning up...
       No distributions at all found for django-admin-tools==0.5.1 (from -r requirements.txt (line 7))
       Storing debug log for failure in /app/.pip/pip.log

 !     Push rejected, failed to compile Python app

如果我在我的机器上运行 pip install django-admin-tools==0.5.1 它可以工作,但是当我尝试推送到 Heroku 时它一直显示错误

【问题讨论】:

  • 你电脑的pip版本是多少?
  • 自 pypa/pip#1423 起,不再允许默认安装不在 PyPI 上的包

标签: python django heroku


【解决方案1】:

可能您在本地计算机上使用的是旧版本的 pip,而 Heroku 使用的是新版本的 pip。

django-admin-tools==0.5.1 托管在 bitbucket 上。虽然不再允许 pip 默认安装不在 PyPI 本身上托管的软件包。所以安装失败了。

将以下内容添加到您的 requirements.txt 将解决问题。

--allow-unverified django-admin-tools
django-admin-tools==0.5.1

参考资料:

Forced use of --allow-external and --allow-unverified very inconvenient and not very intuitive #1423

【讨论】:

  • 我试过这个(但使用 PIL),但仍然收到错误:忽略了一些不安全和无法验证的文件(使用 --allow-unverified PIL 允许)。清理...没有找到 PIL==1.1.7 的发行版(来自 -r requirements.txt(第 2 行))在 /app/.pip/pip.log 中存储失败的调试日志! Push 被拒绝,无法编译 Python 应用我还能做什么?
  • 经过半小时的疯狂搜索,我终于找到了你的答案——希望我能给你不止一个赞! (y)