如何在Heroku上安装numpy,scipy,matplotlib?
所以首先在本地我正在做pip install matplotlib - >我得到一个错误说安装numpy .. 所以我做pip install numpy并收到错误说
File "/home/sghose/myapp/helloflask/build/numpy/numpy/distutils/command/build_src.py", line 385, in generate_sources
source = func(extension, build_dir)
File "numpy/core/setup.py", line 410, in generate_config_h
moredefs, ignored = cocache.check_types(config_cmd, ext, build_dir)
File "numpy/core/setup.py", line 41, in check_types
out = check_types(*a, **kw)
File "numpy/core/setup.py", line 271, in check_types
"Cannot compile 'Python.h'. Perhaps you need to "\
SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel.
----------------------------------------
Command python setup.py egg_info failed with error code 1 in /home/sghose/myapp/helloflask/build/numpy
......我现在该怎么办?通常情况下我会做apt-get install python-numpy ...但是我认为pip不会接受它然后当我推动时Heroku会不高兴...我也看到他们之前重新编译numpy的帖子,scipy,matplotlib和更改过的vars,以便他们指向heroku包(http://stackoverflow.com/questions/9819968/running-scipy-on-heroku)?这还有必要吗?听起来有些痛苦> _<
答案 0 :(得分:3)
当您将代码推送到Heroku时,Heroku将仅查看您的requirements.txt
文件并安装其中列出的软件包。
Heroku并不关心你如何创建该文件(手动或使用pip freeze
),所以没有什么可以阻止你将包添加到requirements.txt
文件中,你只需要添加一个在那里划出要求的名称。
将matplotlib
行添加到requirements.txt
文件后,您可以将代码推送到Heroku,然后按matplotlib
要求推送will figure out what to do。
如果这不起作用,你可以随时联系Heroku,但如果唯一的要求是python标题,如果Heroku上没有它,我会感到惊讶。
关于本地安装,Ben Mezger的回答是对的,您只需要:
apt-get install
python标头(这些不是一个python包,所以你不用pip安装它们)。 Heroku可能已经有了。答案 1 :(得分:0)
您需要安装python-dev
apt-get install python-dev
或
apt-get install python-devel