我无法在heroku上部署我的烧瓶应用程序

时间:2014-10-01 15:59:36

标签: python heroku deployment flask

我是heroku的新手,我试图在那里部署我的应用程序。但它失败了,我收到以下消息:

   Command /app/.heroku/python/bin/python -c "import setuptools, tokenize;__
   file__='/tmp/pip_build_u21590/matplotlib/setup.py';exec(compile(getattr(tokenize
, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" inst
all --record /tmp/pip-4IJQX6-record/install-record.txt --single-version-external
ly-managed --compile failed with error code 1 in /tmp/pip_build_u21590/matplotli
b
Traceback (most recent call last):
File "/app/.heroku/python/bin/pip", line 9, in <module>
load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
File "/app/.heroku/python/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/
__init__.py", line 185, in main
return command.main(cmd_args)
File "/app/.heroku/python/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/
basecommand.py", line 161, in main
text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 70: ordinal
not in range(128)

!     Push rejected, failed to compile Python app

To git@heroku.com:salty-oasis-2440.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:salty-oasis-2440.git'

以上是我的要求清单:

  • 烧瓶== 0.10.1
  • configobj == 5.0.0
  • gunicorn == 19.1.1
  • itsdangerous == 0.24
  • 的Jinja2 == 2.7.2
  • matplotlib == 1.3.1
  • networkx == 1.8.1
  • numpy的== 1.8.1
  • pyparsing == 1.5.7
  • 蟒-dateutil == 2.2
  • WERKZEUG == 0.9.4

我做错了什么?

提前致谢!!!

2 个答案:

答案 0 :(得分:0)

这不是Heroku问题。这是known issue with pip未修复(截至2014年11月26日)的修复程序。由于您使用的是Python 2.7,现在可以manually patch pip

答案 1 :(得分:-1)

在项目的工作virtualenv中输入以下命令:

pip freeze > requirements.txt

注意:如果您的项目没有virtualenv,请考虑为您的项目创建一个virtualenv,然后在那里安装所有需求并再次运行上述命令。

然后将新的requirements.txt添加到项目存储库并将其推送到heroku:

git commit requrements.txt -m "new one from pip"
git push heroku