首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署到heroku要求时出现Django错误

部署到heroku要求时出现Django错误
EN

Stack Overflow用户
提问于 2016-06-24 03:07:14
回答 1查看 2.4K关注 0票数 1

我正在尝试将我的django应用程序部署到heroku。我有一个虚拟环境(当然)。我已经正确地设置了procfile、setup.py和runtime.txt。它在本地开发服务器上运行得很好,但是当我推送到heroku时,它给出了一些关于需求文件的错误。

这是继推送到heroku之后的第三次回溯。我更改了procfile的前两次,然后它只给出了procfile的错误。现在,procfile错误消失了,我对此有了一些错误。

回溯:

代码语言:javascript
复制
    Counting objects: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 309 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Using set buildpack heroku/python
remote: -----> Python app detected
remote: -----> Uninstalling stale dependencies
remote: Invalid requirement: 'There was a problem loading the given requirements files.'
remote: Traceback (most recent call last):
remote:   File "/app/.heroku/python/lib/python3.5/site-packages/pip-8.1.1-py3.5.egg/pip/req/req_install.py", line 77, in
 __init__
remote:     req = pkg_resources.Requirement.parse(req)
remote:   File "/app/.heroku/python/lib/python3.5/site-packages/pip-8.1.1-py3.5.egg/pip/_vendor/pkg_resources/__init__.p
y", line 3036, in parse
remote:     req, = parse_requirements(s)
remote:   File "/app/.heroku/python/lib/python3.5/site-packages/pip-8.1.1-py3.5.egg/pip/_vendor/pkg_resources/__init__.p
y", line 2980, in parse_requirements
remote:     "version spec")
remote:   File "/app/.heroku/python/lib/python3.5/site-packages/pip-8.1.1-py3.5.egg/pip/_vendor/pkg_resources/__init__.p
y", line 2945, in scan_list
remote:     raise RequirementParseError(msg, line, "at", line[p:])
remote: pip._vendor.pkg_resources.RequirementParseError: Expected version spec in There was a problem loading the given
requirements files. at  was a problem loading the given requirements files.
remote:
remote: You are using pip version 8.1.1, however version 8.1.2 is available.
remote: You should consider upgrading via the 'pip install --upgrade pip' command.
remote:      $ pip install -r requirements.txt
remote:
remote:
remote: -----> Discovering process types
remote:        Procfile declares types -> web, worker
remote:
remote: -----> Compressing...
remote:        Done: 60.3M
remote: -----> Launching...
remote:        Released v6
remote:        https://calm-caverns-85777.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/calm-caverns-85777.git
   b1b06b0..d6b1a95  master -> master

Procfile:

代码语言:javascript
复制
web: gunicorn blog.wsgi
worker: python worker.py

requirements.txt:

代码语言:javascript
复制
dj-database-url==0.4.1
Django==1.9.7
django-crispy-forms==1.6.0
django-markdown-deux==1.0.5
django-pagedown==0.1.1
gunicorn==19.6.0
markdown2==2.3.1
Pillow==3.2.0
whitenoise==3.2

runtime.txt:

代码语言:javascript
复制
python-3.5.1

我可以从requirements.txt文件本地安装依赖项,另一件事是当我尝试更新pip时,它显示它已经是最新的。我的运行时环境设置为python 3.5.1。应用程序在部署时崩溃,我假设是因为回溯错误。我能做些什么来解决这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2016-06-24 04:02:33

requirements.txt文件是如何创建的?有没有可能它是损坏的,或者不是纯文本,或者里面有不可打印的字符?

我建议删除requirements.txt并基于pip freeze干净地生成它。

如果你使用的是Windows Powershell,encoding issue可能会影响你。建议的解决方案是:

代码语言:javascript
复制
pip freeze | Out-File -Encoding ASCII requirements.txt
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37999847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档