我正在为python开发人员进行Heroku演练:https://devcenter.heroku.com/articles/django#prerequisites,当我尝试运行“git push heroku master”时出现错误,可以在“Deploy to Heroku”部分找到1 / 3在页面下方。我得到以下追溯:
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 git@heroku.com:stark-fortress-9694.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com: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 :(得分:12)
我认为问题在于您的requirements.txt
文件的编码。可能,您在不知不觉中以Unicode格式保存了它。您应该以ANSI格式保存它。有关详细信息,请参阅此链接:http://georgik.sinusgear.com/2012/08/20/problems-with-deploying-heroku-django-app-from-windows/