尝试将我的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
答案 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卸载这些软件包的方法。