2

我在尝试将我的 Django 应用程序部署到 Heroku 时遇到问题。

它抱怨安装 facebook-sdk 库的问题,但实际上requirements.txt文件中没有这样的东西。

我已经尝试用-f标志推送,我注释掉了 requirements.txt 中的行。我什至推送了一个空的需求文件,但问题仍然存在。

我不知道除了创建一个新的应用程序或heroku的repo之外是否有任何方法可以重置?有什么我可以尝试的想法吗?

控制台日志:

$ git push prod master
Counting objects: 52282, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (17957/17957), done.
Writing objects: 100% (52282/52282), 138.01 MiB | 137 KiB/s, done.
Total 52282 (delta 33410), reused 48501 (delta 30768)

-----> Heroku receiving push
-----> Python/Django app detected
-----> Preparing Python interpreter (2.7.2)
-----> Creating Virtualenv version 1.7
       New python executable in .heroku/venv/bin/python2.7
       Also creating executable in .heroku/venv/bin/python
       Installing distribute.............................................................................................................................................................................................done.
       Installing pip...............done.
       Running virtualenv with interpreter /usr/local/bin/python2.7
-----> Activating virtualenv
-----> Installing dependencies using pip version 1.0.2
error: The requested URL returned error: 401 while accessing http://github.com/facebook/python-sdk.git/info/refs

fatal: HTTP request failed
       Downloading/unpacking paramiko (from -r requirements.txt (line 17))
       Creating supposed download cache at /app/tmp/repo.git/.cache/pip_downloads
         Storing download in cache at /app/tmp/repo.git/.cache/pip_downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fparamiko%2Fparamiko-1.7.7.2.zip
         Running setup.py egg_info for package paramiko

       Obtaining facebook-sdk from git+http://github.com/facebook/python-sdk.git#egg=facebook-sdk (from -r requirements.txt (line 23))
         Cloning http://github.com/facebook/python-sdk.git to ./.heroku/src/facebook-sdk
         Complete output from command /usr/bin/git clone -q http://github.com/facebook/python-sdk.git /tmp/build_1bn5oykhrmms7/.heroku/src/facebook-sdk:

       ----------------------------------------
       Command /usr/bin/git clone -q http://github.com/facebook/python-sdk.git /tmp/build_1bn5oykhrmms7/.heroku/src/facebook-sdk failed with error code 128
       Storing complete log in /app/.pip/pip.log
 !     Heroku push rejected, failed to compile Python/django app
4

3 回答 3

3

正确的解决方案是“Maxime R.”关于如何在 heroku cedar 堆栈上使用 virtualenv 进行 pip 卸载的解决方案?

heroku 实验室:启用 user_env_compile heroku 配置:添加 CLEAN_VIRTUALENV=true

目前这不起作用,因为有一个错误。在上游修复之前,您需要使用我的 buildpack 分支:

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

现在推送你的新代码,你会注意到整个 virtualenv 都被重新安装了。

自 2012 年 3 月 23 日以来,Andrey 的回答不再有效。新风格的 virtualenv 提交将虚拟 env 从 /app 移动到 /app/.heroku/venv 但 purge 分支没有更新以赶上,所以你最终得到一个 virtualenv 不是在 PYTHONHOME 中。

经过几次尝试使用 heroku run 命令后,我终于成功应用了 Maxime R. 解决方案。此外,我已打开 Heroku 票证,并且已向我确认 Heroku 支持是解决方案。

于 2012-07-09T21:22:40.600 回答
0

发生这种情况是因为您为 python-SDK 的库(http://github.com/facebook/python-sdk.git)使用了一个空存储库,请尝试使用另一个存储库:https ://github.com/pythonforfacebook/facebook- sdk

于 2013-07-08T10:29:17.797 回答
0

我已经从虚拟 env 和 requirements.txt 中删除了两个包,并且暂时更改 Python 运行时(如此建议)是我发现的唯一允许我从 heroku 卸载这些包的方法。

于 2013-09-15T17:22:34.543 回答