2016-06-23 2 views
0

heroku에 내 장고 응용 프로그램을 배포하려고합니다. 나는 가상 환경을 가지고있다. procfile, setup.py 및 runtime.txt가 올바르게 설정되어 있습니다. 로컬 개발 서버에서 완벽하게 실행되지만 heroku로 푸시하면 요구 사항 파일에 오류가 발생합니다.heroku 요구 사항에 장고 오류가 발생했습니다.

이것은 영웅에게 밀린 후 세 번째 추적입니다. 처음 두 번 procfile을 변경 한 다음 procfile과 함께 오류를 보냈습니다. 이제는 procfile 오류가 사라 졌는데 나는 이것에 대해 어떤 종류의 오류가 있습니다.

트레이스 백 :

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 :

web: gunicorn blog.wsgi 
worker: python worker.py 

requirements.txt :

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 :

python-3.5.1 

dependencies를 requirements.txt 파일에서 로컬로 설치할 수 있고 다른 것은 핍을 업데이트하려고 할 때 이미 최신이라고합니다. 내 런타임 환경은 python 3.5.1로 설정되어 있습니다. 응용 프로그램이 배포 될 때 충돌이 발생하고 추적 오류로 인해 가정합니다. 이 문제를 해결하려면 어떻게해야합니까?

+0

다시 배포하면 동일한 문제가 발생합니까? –

+0

예. 다시 발생합니다. – bernosbernus

+0

바보 같은 질문 :'requirements.txt'가 소스 제어하에 있습니까? –

답변

2

requirements.txt 파일은 어떻게 생성 되었습니까? 그것은 손상되었거나 일반 텍스트가 아니거나 인쇄 할 수없는 문자를 가질 수 있습니까?

requirements.txt를 삭제하고 pip freeze를 기반으로 깨끗하게 생성하는 것이 좋습니다.

Windows Powershell을 사용하는 경우 encoding issue이 영향을 줄 수 있습니다. 제안 된 솔루션은 다음과 같습니다.

pip freeze | Out-File -Encoding ASCII requirements.txt 
+0

고마워! 이것은 불행하게도 투표 할 수 없으므로 다른 사람들이 투표를 할 수 있습니다. – bernosbernus

관련 문제