pip install matplotlib在使用自制软件的小牛队失败

wal*_*oud 4 python homebrew pip matplotlib osx-mavericks

我试图安装Scipy python堆栈,但有问题.
我有一个新的Mac OS与小牛队(10.9).
我已经安装了自制软件,并使用brew来管理安装.

我用了

% brew install python
Run Code Online (Sandbox Code Playgroud)

然后(我验证了pip来自我的自制软件安装)

% pip install numpy [this works]

% pip install scipy [this works]

% pip install matplotlib  OR pip install http://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.3.1/matplotlib-1.3.1.tar.gz
Run Code Online (Sandbox Code Playgroud)

两者都失败了同样的错误.检查后端后,我明白了

Fatal Python error: PyThreadState_Get: no current thread
Run Code Online (Sandbox Code Playgroud)

来自mac os X的错误消息(弹出错误窗口)显示的错误与前一个线程中的错误非常相似

Homebrew + Python on mac os x 10.8:致命的Python错误:PyThreadState_Get:没有当前线程导入mapnik

似乎我需要修复python绑定,因为它们中的一些链接/System/Library与mac附带的python.从上面的帖子中我不清楚的是

  1. 哪个二进制图像需要"重新链接"?他们都是?有些似乎相当普遍而与之无关matplotlib

  2. 我如何实际用于install_name_tool修复链接?正如我所提到的,有些似乎很普遍 - 我真的想改变路径吗?我cpdylib从旧到新吗?

我也试过了

brew uninstall python
Run Code Online (Sandbox Code Playgroud)

并重新酿造,所有都得到同样的错误.我试图不使用EPD因为EPD安装自己libxml2和其他人,我需要安装的其他软件,这导致我在旧机器上的问题.我愿意考虑一下virtualenv,但希望学会尽可能地解决我当前的问题.

谢谢,

安德烈

PS,当pip installmatplotlib`时,出现以下警告,这看起来很奇怪,因为matplotlib是这样一个软件的主要部分

您正在安装外部托管的文件.未来版本的pip将默认禁用外部托管文件.

您正在安装可能不安全且无法验证的文件.未来版本的pip将默认禁用不安全的文件.

小智 5

这是pygtk中的一个问题.你可以用brew测试它(它应该抛出相同的错误):

brew test pygtk
Run Code Online (Sandbox Code Playgroud)

我遇到了同样的问题,并通过https://github.com/mxcl/homebrew/issues/13654中的以下步骤克服了该错误

  • brew rm py2cairo
  • brew install py2cairo

您可以测试pygtk是否正在brew test pygtk再次使用.

我还有其他问题要pip install matplotlib开始工作,所以你也可能遇到更多问题,但这应该会让你超越那个特定的问题.