Roc*_*man 5 python macos homebrew waf
我正在尝试使用brew在python 2.7.3的框架构建(Mac OSX Lion)上安装py2cairo.到目前为止,我一直没有成功.
首先,我尝试了一个简单的
brew install py2cairo
Run Code Online (Sandbox Code Playgroud)
这似乎只适用于python的非框架构建.当我使用不兼容的二进制错误导入cairo时,我在我的框架上执行此操作构建python错误.
其次,我试图通过从github抓取它并发出以下内容来自己构建它:
python waf configure
Run Code Online (Sandbox Code Playgroud)
这失败了:
Checking for library python2.7 : not found
Checking for library python2.7 : not found
Checking for library python2.7 : not found
Checking for library python27 : not found
Checking for program python2.7-config : /usr/local/Cellar/python/2.7.3/bin/python2.7- config
Checking for header Python.h : Could not find the python development headers
The configuration failed
(complete log in /Users/tobin/tmp/py2cairo/build_directory/config.log)
Run Code Online (Sandbox Code Playgroud)
我已经尝试了一切:如何使用默认的python在Mac OSX上安装PyCairo 1.10,但这些都没有帮助.
在我看来,这可能无法找到python2.7库和头文件,因为它是一个框架构建.那可能吗?我正在研究brew公式,看起来框架构建在构建时没有得到--enable-share set.我不确定这是否相关 - 但也许是一种可能性.
任何其他见解都会很棒.提前致谢.
我发现无法构建py2cairo与gcc使用"-march = native"标志有关.Mac OSX上的gcc(4.2.1)存在此问题.然后我重新安装了gcc以及python.之后用waf构建py2cairo时 - 得到了"-march = core2"并且所有内容都已构建完成.
不幸的是,并非一切都很好.当我从brew版本导入cairo时,我得到了同样的错误(如上所述).确切的错误消息是:
>>> import cairo
Fatal Python error: Interpreter not initialized (version mismatch?)
Abort trap: 6
Run Code Online (Sandbox Code Playgroud)
然后python退出.
现在看来这个问题与python的框架构建有关.我没有框架构建测试它,它工作正常.
为了不让这个问题悬而未决......我想跟进我的决心和学习要点:
如上所述,我的 OSX 版本和名为 -march=native 的 gcc 编译标志不兼容。在更高版本中,它出现为 -march=core2。清理我的机器后,通过编译器/版本更改,这几乎可以自行修复。
多年来,我对所有各种 MAC OSX 安装都感到非常混乱 - 并接受“迁移选项”。两台机器前 - 我安装了 2.4 和 2.5 版本的 python 二进制文件,然后由于各种原因最终转到 macports。然后最终转向自制。当我进行自制时,我尝试手动清理东西(但这当然可能具有挑战性)。更糟糕的是,在过去的 6 年里,每次我买了一台新的 mac(2 次),我都会选择“迁移安装”选项,这会让事情变得更糟,让情况变得更糟。因此,当我开始进一步研究时,我安装了各种不同版本的 python,包括 mac-native、python-native、mac ports、homebrew,甚至可能在我的系统上还有其他版本。所以我最好的猜测是开罗正在以某种方式找到其中之一并试图以此为基础进行构建。
我最终通过手动删除一堆旧的 python 安装,然后重新开始安装 python 2.7 的新 virtualenv 和 homebrew 安装来解决了这个问题。
警告:我认为这不是最明智的方法。我小心翼翼地没有删除我认为是 OSX Lion 自带的 Python 版本(我认为是 2.6)——但目前尚不清楚它可能如何影响其他一些可能依赖于旧版 Mac 安装的 Python 的东西。我最终删除了一个 2.3、一个 2.4 和两个不同的 2.5,以及某些地方的各种链接。真是一团糟!除非你完全确定你在做什么(我不是),否则我不会建议这种方法。我基本上是想消灭 6 年以来收集的 python 安装 CRUD。
为了安全起见,我可能应该从新的 OSX Lion 安装开始,然后添加我的自制版本并从那里开始。我可能会在不久的将来这样做。
| 归档时间: |
|
| 查看次数: |
1925 次 |
| 最近记录: |