问题 如何在Cygwin上安装Matplotlib?


我正在尝试在最新的Cygwin上安装Matplotlib 1.0.1版本。在处理中,有一个奇怪的叉错误无法解决。我搜索了类似的问题,发现它可以通过使用matplotlib 0.98.5.2手动运行gcc / g ++来解决: http://innuendopoly.org/arch/matplotlib-cygwin。但它在1.0.1版本下不起作用。有人遇到同样的问题吗?


12561
2018-03-01 07:47


起源



答案:


以下是如何在Cygwin上安装matplotlib 1.1.0的说明

http://berlinbrowndev.blogspot.com/2012/01/python-matplotlib-plotting-setup-for.html

用于cygwin的Python matplotlib绘图设置

Matplotlib是一个流行的python库,用于生成绘图图形。它适用于cygwin win32,但需要一些非直观的步骤。

安装cygwin:

CYGWIN_NT-5.1 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin

我正在使用cygwin和setup 2.7.3

通过cygwin安装python:

本文档描述了使用cygwin安装python和matplot。对于大多数Windows用户和cygwin用户,通常你会使用外部python可执行文件。我倾向于选择通过cygwin运行的所有面向脚本的应用程序,包括python。

Python 2.6.5 (r265:79063, Jun 12 2010, 17:07:01)
[GCC 4.3.4 20090804 (release) 1] on cygwin

在cygwin setup.exe安装程序中,安装:

  • freetype libs,python-gtk,python-tk,libpng
  • GCC

从sourceforge下载matplotlib:

我正在使用最新版本matplotlib-1.1.0截至2012年1月。

下载并解压缩matplotlib tarball

标准python安装和cygwin的问题:

典型的'python setup.py install'不适用于cygwin。您需要修改配置文件并运行其他一些其他命令。

在展开的matplotlib目录的根目录中,将setup.cfg.template配置文件复制到setup.cfg。编辑setup.cfg。

文件中的第70行是注释行,取消注释该行,以便您具有:

tkagg = False

运行安装并观察它失败

尝试运行'python setup.py install'

它应该失败并出现如下错误:

2 [main] python 2796 C:\cygwin\bin\python.exe: *** fatal error - unable to remap C:\cygwin\bin\cyggfortran-3.dll to same address as parent: 0x18660000 != 0x69780000
Stack trace:

在典型的CYGWIN ENV外部运行rebase命令

退出cygwin并关闭所有cygwin实例,包括您正在使用的实例。您不会将典型的cygwin提示用于下一个命令。

在Windows资源管理器中,打开cmd.exe或Windows命令

您将需要运行rebaseall。首先,关闭所有长时间运行的进程,如sshd,关闭所有Cygwin提示,依此类推。

输入以下命令:

cd \cygwin\bin
ash
PATH=. rebaseall -v

...

你应该得到几行输出。

运行安装并观察它是否成功

尝试在matplotlib目录中再次运行'python setup.py install'命令

运行示例程序:

# python
Python 2.6.5 (r265:79063, Jun 12 2010, 17:07:01)
[GCC 4.3.4 20090804 (release) 1] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
import matplotlib.pyplot as pyplot
pyplot.pie([1,2,3])
pyplot.show()
pyplot.savefig('f.png')
pyplot.savefig('x.eps')

13
2018-01-26 02:07



谢谢!我今天尝试了它并且它无缝地工作,它甚至没有第一次失败。我想有人会在1月份之前解决问题。 - Ferdinando Randisi
无法构建以下必需的包:freetype - 这毕竟是它告诉我的。不起作用。我在哪里可以获得64位工作的freetype? - Alexey Petrenko
启动Cygwin设置(在我的情况下是setup-x86_64.exe)并在包列表中搜索freetype2,选择要安装的所有找到的包。您还需要pkg-config以便自动检测依赖包。同样,搜索pkg-config并选择要安装的所有找到的包。而已。编译和安装时我没有任何错误,只有一些警告,但这应该没问题。我安装了:python setup.py install。如果你只是想检查依赖错误,请执行以下操作:python setup.py - Pedro Ferreira
请问,为什么要禁用 tkagg? - nn0p
现在有了最新版本的cygwin,就不再需要禁用tkagg.'python setup.py install'了。 - Vincent Rich


答案:


以下是如何在Cygwin上安装matplotlib 1.1.0的说明

http://berlinbrowndev.blogspot.com/2012/01/python-matplotlib-plotting-setup-for.html

用于cygwin的Python matplotlib绘图设置

Matplotlib是一个流行的python库,用于生成绘图图形。它适用于cygwin win32,但需要一些非直观的步骤。

安装cygwin:

CYGWIN_NT-5.1 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin

我正在使用cygwin和setup 2.7.3

通过cygwin安装python:

本文档描述了使用cygwin安装python和matplot。对于大多数Windows用户和cygwin用户,通常你会使用外部python可执行文件。我倾向于选择通过cygwin运行的所有面向脚本的应用程序,包括python。

Python 2.6.5 (r265:79063, Jun 12 2010, 17:07:01)
[GCC 4.3.4 20090804 (release) 1] on cygwin

在cygwin setup.exe安装程序中,安装:

  • freetype libs,python-gtk,python-tk,libpng
  • GCC

从sourceforge下载matplotlib:

我正在使用最新版本matplotlib-1.1.0截至2012年1月。

下载并解压缩matplotlib tarball

标准python安装和cygwin的问题:

典型的'python setup.py install'不适用于cygwin。您需要修改配置文件并运行其他一些其他命令。

在展开的matplotlib目录的根目录中,将setup.cfg.template配置文件复制到setup.cfg。编辑setup.cfg。

文件中的第70行是注释行,取消注释该行,以便您具有:

tkagg = False

运行安装并观察它失败

尝试运行'python setup.py install'

它应该失败并出现如下错误:

2 [main] python 2796 C:\cygwin\bin\python.exe: *** fatal error - unable to remap C:\cygwin\bin\cyggfortran-3.dll to same address as parent: 0x18660000 != 0x69780000
Stack trace:

在典型的CYGWIN ENV外部运行rebase命令

退出cygwin并关闭所有cygwin实例,包括您正在使用的实例。您不会将典型的cygwin提示用于下一个命令。

在Windows资源管理器中,打开cmd.exe或Windows命令

您将需要运行rebaseall。首先,关闭所有长时间运行的进程,如sshd,关闭所有Cygwin提示,依此类推。

输入以下命令:

cd \cygwin\bin
ash
PATH=. rebaseall -v

...

你应该得到几行输出。

运行安装并观察它是否成功

尝试在matplotlib目录中再次运行'python setup.py install'命令

运行示例程序:

# python
Python 2.6.5 (r265:79063, Jun 12 2010, 17:07:01)
[GCC 4.3.4 20090804 (release) 1] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
import matplotlib.pyplot as pyplot
pyplot.pie([1,2,3])
pyplot.show()
pyplot.savefig('f.png')
pyplot.savefig('x.eps')

13
2018-01-26 02:07



谢谢!我今天尝试了它并且它无缝地工作,它甚至没有第一次失败。我想有人会在1月份之前解决问题。 - Ferdinando Randisi
无法构建以下必需的包:freetype - 这毕竟是它告诉我的。不起作用。我在哪里可以获得64位工作的freetype? - Alexey Petrenko
启动Cygwin设置(在我的情况下是setup-x86_64.exe)并在包列表中搜索freetype2,选择要安装的所有找到的包。您还需要pkg-config以便自动检测依赖包。同样,搜索pkg-config并选择要安装的所有找到的包。而已。编译和安装时我没有任何错误,只有一些警告,但这应该没问题。我安装了:python setup.py install。如果你只是想检查依赖错误,请执行以下操作:python setup.py - Pedro Ferreira
请问,为什么要禁用 tkagg? - nn0p
现在有了最新版本的cygwin,就不再需要禁用tkagg.'python setup.py install'了。 - Vincent Rich


这些步骤取自 www.scivision.co 为我工作:

  1. 运行Cygwin设置:(由于某种原因,源链接中发布的原始命令对我不起作用)
  2. 安装包:(你可能已经拥有大部分)

    • pkg配置
    • 的ghostscript
    • libfreetype建立-devel的
    • 的libpng-devel的
    • libgtk2.0-devel的
    • GCC-克++
    • 混帐
    • 开箱
    • python3-numpy的
    • python3-pyqt5
    • python3-devel的
  3. 然后从Cygwin Terminal:

easy_install-3.6 pip pip install --upgrade six pip install matplotlib

  1. 然后从python控制台测试:

import matplotlib matplotlib.__version__


1
2017-08-28 15:17





如上面Felix所述,安装对我有用。 但要使用matplotlib,您需要首先从Cygwin启动Xserver:

startxwin

然后启动你的脚本。


0
2017-11-27 14:13