如何在弹性魔豆安装matplotlib(How to install matplotlib on E

2019-08-18 08:28发布

由于matplotlib需要numpy的已安装,我遇到了一个问题。

在我的魔豆弹性环境中安装其它Python包,我使用PIP requirements.txt文件。 由于设置配置自动安装在按字母顺序的包,始终matplotlib安装第一导致一个错误。

有没有人有办法把成功修复这个问题,知道吗?

Answer 1:

我一直在打我的头靠在这个墙上几天,但看来,如果要安装matplotlib / SciPy的/使用你需要同时做的事情之一模块requirements.txt文件scikit学习。

我已经能够明白的是,在弹性魔豆包没有安装在虚拟环境中的站点包目录中,直到它已成功地通过整个requirements.txt文件的工作它的方式。

因此,例如,如果你试图在同一时间安装numpy的和SciPy的,因为我在做什么,它会失败,因为SciPy的找不到某些numpy的模块(numpy.distutils.core明确)。 NumPy的坐在/opt/python/run/venv/build等待去,但点子正在寻找在/opt/python/run/venv/lib/python2.6/site-packages并没有找到numpy的。

你需要一个在你的requirements.txt文件只numpy的承诺,推动这部长达弹性魔豆。 如果成功的numpy的模块将在正确的地方,然后你可以做一个符合要求更新你的情况来SciPy的或matplotlib第二承诺。

小心在.ebextensions您的配置文件,你需要有列出的所有依赖关系。 具体而言,在顶部.ebextensions/myapp.config你应该有

packages:
  yum:
    gcc-c++: []
    gcc-gfortran: []
    python-devel: []
    atlas-sse3-devel: []
    lapack-devel: []
    libpng-devel: []
    freetype-devel: []
    zlib-devel: []

atlas-sse3-devellapack-devel ,如果你想SciPy的和需要libpng-develfreetype-devel ,与zlib-devel都需要matplotlib。

另一种方法是使用SSH来与弹性青苗应用相关联的EC2实例,启动虚拟环境( source /opt/python/run/venv/bin/activate )和PIP自己安装的软件包。



文章来源: How to install matplotlib on Elastic Beanstalk