Python &引用;使用pip“安装依赖项”;将flask项目部署到Heroku时出现异常
我试图使用git push heroku master将一个简单的应用程序部署到heroku,然后出现以下错误:Python &引用;使用pip“安装依赖项”;将flask项目部署到Heroku时出现异常,python,git,heroku,flask,Python,Git,Heroku,Flask,我试图使用git push heroku master将一个简单的应用程序部署到heroku,然后出现以下错误: $git push heroku master Initializing repository, done. Counting objects: 14, done. Delta compression using up to 4 threads. Compressing objects: 100% (12/12), done. Writing objects: 1
$git push heroku master
Initializing repository, done.
Counting objects: 14, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (14/14), 8.85 KiB | 0 bytes/s, done.
Total 14 (delta 2), reused 0 (delta 0)
-----> Python app detected
-----> Installing runtime (python-2.7.8)
-----> Installing dependencies with pip
Exception:
Traceback (most recent call last):
File "/app/.heroku/python/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/app/.heroku/python/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py", line 262, in run
for req in parse_requirements(filename, finder=finder, options=options, session=session):
File "/app/.heroku/python/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 1629, in parse_requirements
line, comes_from=comes_from, default_vcs=options.default_vcs if options else None)
File "/app/.heroku/python/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 124, in from_editable
prereleases=True)
File "/app/.heroku/python/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 70, in __init__
req = pkg_resources.Requirement.parse(req)
File "/app/.heroku/python/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/_vendor/pkg_resources.py", line 2667, in parse
reqs = list(parse_requirements(s))
File "/app/.heroku/python/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/_vendor/pkg_resources.py", line 2605, in parse_requirements
line, p, specs = scan_list(VERSION,LINE_END,line,p,(1,2),"version spec")
File "/app/.heroku/python/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/_vendor/pkg_resources.py", line 2573, in scan_list
raise ValueError("Expected "+item_name+" in",line,"at",line[p:])
ValueError: ('Expected version spec in', 'Flask-origin/HEAD', 'at', '/HEAD')
Storing debug log for failure in /app/.pip/pip.log
! Push rejected, failed to compile Python app
To git@heroku.com:still-brook-1028.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:still-brook-1028.git'
我猜可能有一些版本不一致,但无法确定是哪一个。以下是我的requirements.txt:
-e git+http://github.com/mitsuhiko/flask.git@577581665ce745898c29ca502e0a3aba1f16677e#egg=Flask-origin/HEAD
Jinja2==2.7.3
MarkupSafe==0.18
Werkzeug==0.9.6
click==2.4
gunicorn==19.0.0
itsdangerous==0.24
wsgiref==0.1.2
这是我在这里的第一篇帖子,如果有什么不好的地方,请告诉我。非常感谢~ 从
git中删除-origin/HEAD
部分+http://github.com/mitsuhiko/flask.git@577581665CE745898C29CA502E0A3ABA16677E 35;蛋=烧瓶来源/头
:
-e git+http://github.com/mitsuhiko/flask.git@577581665ce745898c29ca502e0a3aba1f16677e#egg=Flask
Jinja2==2.7.3
MarkupSafe==0.18
Werkzeug==0.9.6
click==2.4
gunicorn==19.0.0
itsdangerous==0.24
wsgiref==0.1.2
当#egg=
后的文本必须是有效文本时,与直接指定包时的格式相同:
pip在其依赖关系逻辑中使用url后缀“egg=”在pip下载和分析元数据之前识别项目
太多了!这解决了我上面的问题。然而,在我删除了“-origin/HEAD”之后,用git更新并重做了“git-push-heroku-master”,它在用pip安装依赖项时超时了。我最终将整行“git+http…”替换为“flask==0.9”,然后所有内容都完成了。虽然我还是不明白为什么我要休息。顺便说一句,实际上requirements.txt最初是使用“pip freeze>requirements.txt”生成的。奇怪的是它与风投不一致…@wandonye这确实奇怪,根据他们的文档,它也应该在没有版本的情况下工作。尽管如此,他们仍在努力。不管怎样,很高兴问题解决了!当我从GitHTTP位置安装时,Pip还会附加“-origin/HEAD”。不知道为什么。我想当我推的时候它会把我的Heroku弄坏的。