将Django应用程序部署到Heroku时出现问题

时间:2012-07-08 09:18:37

标签: django deployment heroku

尝试将我的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

3 个答案:

答案 0 :(得分:3)

正确的解决方案是“Maxime R。”在how to pip uninstall with virtualenv on heroku cedar stack?

上的解决方案
  

heroku labs:启用user_env_compile heroku config:add   CLEAN_VIRTUALENV =真

     

目前这不起作用,因为有一个错误。你需要使用   我的buildpack的fork,直到上游修复:

     

heroku config:add   BUILDPACK_URL=git@github.com:blaze33 / heroku上-buildpack-python.git

     

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

     

安德烈的答案自2012年3月23日起不再有效。新款式   virtualenv commit将虚拟环境从/ app移动到/app/.heroku/venv   但清除分支没有更新以赶上,以便你最终   有一个不在PYTHONHOME的虚拟人。

在使用heroku run命令几次尝试后,我成功应用了Maxime R.解决方案。此外,我已经打开了一张Heroku票,Heroku支持已经向我确认这是解决方案。

答案 1 :(得分:0)

这是因为您正在为python-SDK的库(http://github.com/facebook/python-sdk.git)使用空存储库,请尝试使用其他存储库:https://github.com/pythonforfacebook/facebook-sdk

答案 2 :(得分:0)

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

相关问题