2012-12-15 60 views
4

我正在为Python开发者做Heroku演练:https://devcenter.heroku.com/articles/django#prerequisites,并且在尝试运行“git push heroku master”时出现错误,它可以是在“部署到Heroku”部分下找到约1/3的页面。我得到以下回溯:Heroku推送被拒绝,未能编译Python/Django应用程序(Python 2.7)

Counting objects: 11, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (9/9), done. 
Writing objects: 100% (11/11), 3.71 KiB, done. 
Total 11 (delta 0), reused 0 (delta 0) 
-----> Python/Django app detected 
-----> Preparing Python interpreter (2.7.2) 
-----> Creating Virtualenv (1.8.4) 
     Also creating executable in .heroku/venv/bin/python 
     Installing distribute...done. 
     Installing pip...done. 
     Running virtualenv with interpreter /usr/local/bin/python2.7 
-----> Installing dependencies using pip (1.1) 
     Exception: 
     Traceback (most recent call last): 
     File "/tmp/build_21leaqqhryfxe/.heroku/venv/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/basecommand.py", 
line 104, in main 
      status = self.run(options, args) 
     File "/tmp/build_21leaqqhryfxe/.heroku/venv/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/commands/install. 
py", line 219, in run 
      for req in parse_requirements(filename, finder=finder, options=options): 
     File "/tmp/build_21leaqqhryfxe/.heroku/venv/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/req.py", line 128 
8, in parse_requirements 
      req = InstallRequirement.from_line(line, comes_from) 
     File "/tmp/build_21leaqqhryfxe/.heroku/venv/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/req.py", line 85, 
in from_line 
      elif os.path.isdir(path) and (os.path.sep in name or name.startswith('.')): 
     File "/tmp/build_21leaqqhryfxe/.heroku/venv/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 

To [email protected]:stark-fortress-9694.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to '[email protected]:stark-fortress-9694.git' 

其他一切都成功地工作到这一点。任何见解?我对此完全陌生。感谢您提前提供任何帮助。

这里是requirements.txt样子:

Django==1.4.3 
distribute==0.6.31 
dj-database-url==0.2.1 
psycopg2==2.4.5 
+0

好像你的需求之一是未能安装。你能提供你的requirements.txt文件吗? –

+0

1.你在本地运行它吗? 2.您是否通过短毛工具运行它? 3.你到目前为止进行了哪种测试? – bitcycle

+0

我加了Django的标签,蜜蜂通过Django的人看到太.. –

回答

12

我认为这个问题是在你的requirements.txt文件的编码。可能你不知不觉地用Unicode格式保存它。您应该将其保存为ANSI格式。请参阅此链接了解详情:http://georgik.sinusgear.com/2012/08/20/problems-with-deploying-heroku-django-app-from-windows/

+0

我的编码没有问题,但是我有一个从GitHub存储库安装的软件包,它在'requirements.txt'中的行引发了错误。 – Filly

+0

它也为我解决了它。提示:不要忘记在修复之后再次提交,我确定它不起作用,因为我推送时没有提交固定文件:) – syonip

相关问题