<p>我用pip在我的virtualenv中安装了matplotlib。一开始是个失败,但是在我完成<code>easy_install -U distribute</code>之后,安装就顺利进行了。在</p>
<p>以下是我要做的(在git存储库根文件夹中):</p>
<pre><code>virtualenv env
source env/bin/activate
pip install gunicorn
pip install numpy
easy_install -U distribute
pip install matplotlib
</code></pre>
<p>然后,我做一个要求.txt通过使用<code>pip freeze > requirements.txt</code>。结果如下:</p>
^{pr2}$
<p>尝试部署应用程序时出现问题:</p>
<pre><code>(env)gofrendi@kirinThor:~/kokoropy$ git push -u heroku
Counting objects: 9, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 586 bytes, done.
Total 5 (delta 3), reused 0 (delta 0)
-----> Python app detected
-----> No runtime.txt provided; assuming python-2.7.4.
-----> Using Python runtime (python-2.7.4)
-----> Installing dependencies using Pip (1.3.1)
Downloading/unpacking distribute==0.7.3 (from -r requirements.txt (line 2))
Running setup.py egg_info for package distribute
Downloading/unpacking matplotlib==1.3.0 (from -r requirements.txt (line 4))
Running setup.py egg_info for package matplotlib
The required version of distribute (>=0.6.28) is not available,
and can't be installed while this script is running. Please
install a more recent version first, using
'easy_install -U distribute'.
(Currently using distribute 0.6.24 (/app/.heroku/python/lib/python2.7/site-packages))
Complete output from command python setup.py egg_info:
The required version of distribute (>=0.6.28) is not available,
and can't be installed while this script is running. Please
install a more recent version first, using
'easy_install -U distribute'.
(Currently using distribute 0.6.24 (/app/.heroku/python/lib/python2.7/site-packages))
----------------------------------------
Command python setup.py egg_info failed with error code 2 in /tmp/pip-build-u55833/matplotlib
Storing complete log in /app/.pip/pip.log
! Push rejected, failed to compile Python app
To git@heroku.com:kokoropy.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:kokoropy.git'
(env)gofrendi@kirinThor:~/kokoropy$
</code></pre>
<p>heroku服务器似乎无法正确安装matplotlib。在</p>
<p>当我这样做时,<code>easy_install -U distribute</code>它可能没有被pip记录。在</p>
<p>Matplotlib还有几个非python库依赖项(例如:libjpeg8 dev、libfreetype和libpng6 dev)。我可以在本地安装这些依赖项(例如:通过<code>apt-get</code>)。然而,这也没有被pip记录。在</p>
<p>所以,我的问题是:如何在heroku部署服务器中正确安装matplotlib?在</p>