2012-03-10 2 views
2

나는 Heroku에서 django 프로젝트를 전개하려고합니다. 의존성을 관리하기 위해 virtualenv와 pip를 사용합니다. virtualenv 버전은 1.7.1이고 pip는 1.1 버전입니다. 나는 --no-site-packages를 강제 실행하려고 시도했으나 이제는 기본 동작이라고 알려줍니다. 또한 나는 가상 환경에서 모든 것을 설치한다고 확신한다. django 프로젝트는 비어 있습니다. 나는 지침 here을 따라 갔다. 어쩌면 문제는 pip와 virtualenv의 버전이 오래되었다는 것입니까? 누구든지이 문제가 발생 했습니까? 미리 감사드립니다.Heroku의 Django 프로젝트는 pip와 종속성을 설치할 수 없습니다.

ψ pip.exe freeze 
Django==1.3.1 
distribute==0.6.24 
versiontools==1.8.3 
(venv) 

ψ more .\requirements.txt 
Django==1.3.1 
distribute==0.6.24 
versiontools==1.8.3 

(venv) 

ψ git push heroku master 
Enter passphrase for key '/c/Program Files (x86)/Vim/.ssh/id_rsa': 
Counting objects: 12, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (10/10), done. 
Writing objects: 100% (12/12), 3.30 KiB, done. 
Total 12 (delta 2), reused 0 (delta 0) 

-----> Heroku receiving push 
-----> Python/Django app detected 
-----> Preparing virtualenv version 1.7 
     New python executable in ./bin/python 
     Installing distribute.............................................................................................................................................................................................done. 
     Installing pip...............done. 
-----> Activating virtualenv 
-----> Installing dependencies using pip version 1.0.2 
     Exception: 
     Traceback (most recent call last): 
     File "/tmp/build_k6zl66ydgqxp/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg/pip/basecommand.py", line 126, in main 
      self.run(options, args) 
     File "/tmp/build_k6zl66ydgqxp/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg/pip/commands/install.py", line 200, in run 
      for req in parse_requirements(filename, finder=finder, options=options): 
     File "/tmp/build_k6zl66ydgqxp/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg/pip/req.py", line 1255, in parse_requirements 
      req = InstallRequirement.from_line(line, comes_from) 
     File "/tmp/build_k6zl66ydgqxp/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg/pip/req.py", line 82, in from_line 
      elif os.path.isdir(path) and (os.path.sep in name or name.startswith('.')): 
     File "/tmp/build_k6zl66ydgqxp/lib/python2.7/genericpath.py", line 41, in isdir 
      st = os.stat(s) 
     TypeError: must be encoded string without NULL bytes, not str 

     Storing complete log in /app/.pip/pip.log 
!  Heroku push rejected, failed to compile Python/django app 
+0

requirements.txt도 게시 할 수 있습니까? –

+0

@ 샘 예. 이제 끝났어. – ilcredo

+0

@ Sam 실제로 나는 OS 라인 결말에 대해 생각하고있었습니다. 나는 윈도우 7에있어, 그리고 그들이 posix OS를 사용한다면, 이것들은 튜토리얼이라고 언급하지 않았다. – ilcredo

답변

7

이 requirements.txt에 문제가, 내가에 nullbytes을 가진 이름의 파일을 생성 PowerShell 및 "pip.exe 동결> requirements.txt"명령, 을 사용하여 만든 것 그것. github의 예제 프로젝트에서 requirements.txt를 다운로드하고 수정하여이 문제를 해결할 수있었습니다. 그 일을하고 모든게 잘 작동합니다.

+0

http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work qusetion을 닫으십시오. – jpic

관련 문제