- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 brew 在 python 2.7.3 的框架构建(Mac OSX Lion)上安装 py2cairo。到目前为止,我一直没有成功。
首先,我尝试了一个简单的
brew install py2cairo
这似乎只适用于 python 的非框架构建。当我在我的框架上执行此操作时,一旦我导入 cairo 并出现不兼容的二进制错误,就会立即构建 python 错误。
其次,我尝试通过从 github 上获取并发布来自己构建它:
python waf configure
这失败了:
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)
我已经尝试了一切:How to install PyCairo 1.10 on Mac OSX with default python但这些都没有帮助。
在我看来,这可能无法找到 python2.7 库和头文件,因为它是一个框架构建。那可能吗?我正在查看 brew 公式,框架构建似乎没有在构建时设置 --enable-share 。我不确定这在这里是否相关 - 但也许是一种可能性。
任何其他见解都会很棒。提前致谢。
我发现无法构建 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
然后 python 退出。
现在看来问题与python的框架构建有关。我在没有构建框架的情况下对其进行了测试,并且运行良好。
最佳答案
为了不让这个问题悬而未决......我想跟进我的决议和学习要点:
如上所述,我的 OSX 版本和一个名为 -march=native 的 gcc 编译标志不兼容。在后来的版本中,它以 -march=core2 的形式出现。在清理我的机器后,这几乎可以通过编译器/版本更改自行修复。
多年来,我对所有各种 MAC OSX 安装和接受“迁移选项”感到一团糟。两台机器前 - 我安装了 2.4 和 2.5 版的 python 二进制文件,然后由于各种原因最终去了 macports。然后最终去了 Homebrew 软件。当我使用 homebrew 时,我尝试手动清理东西(当然这可能具有挑战性)。更糟糕的是——在过去的 6 年里,每当我得到一台新 Mac(2 次)时,我都会选择“迁移安装”选项,这会把事情推向更糟的地步。因此,当我开始进一步研究时 - 我安装了各种不同版本的 python - mac-native、python-native、mac ports、 Homebrew 软件,甚至可能在我的系统上还有其他版本。所以我最好的猜测是 cairo 以某种方式找到了其中之一,并试图针对它进行构建。
我最终解决了这个问题,方法是手动删除一堆旧的 python 安装,然后重新开始安装 python 2.7 的全新 virtualenv 和 Homebrew 软件。
警告:我认为这不是最明智的做法。我小心翼翼地没有删除我认为是 OSX Lion 自带的 Python 版本(我认为它是 2.6)——但目前尚不清楚它可能如何影响可能依赖于较旧的 mac 安装的 python 的其他一些东西。我最终删除了一个 2.3、一个 2.4 和两个不同的 2.5——以及一些地方的各种链接。真是一团糟!除非您完全确定自己在做什么(我不是),否则我不建议使用这种方法。我基本上是想杀死 6 年来收集的 python 安装 crud。
为了安全起见,我可能应该从全新的 OSX Lion 安装开始,然后添加我的 Homebrew 软件版本并从那里开始。我可能会在不久的将来这样做。
关于python - 无法在 Mac OSX 上安装 py2cairo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10965692/
过去我在学习 Cairo 时拍过一些照片,但总是继续支持其他一些图形库。我的问题是我找不到一个很好的教程来为我的表面提供一个简单的显示。我总是在 GTK 或 QT 文档中挖掘与我想做的事情无关的事情。
我的看法 @api_view(['GET']) @renderer_classes((JSONRenderer,TemplateHTMLRenderer,BrowsableAPIRendere
这听起来很简单,但我找不到将 PDF 加载到开罗的方法。我希望能够以与 cairo.ImageSurface.create_from_png 相同的方式执行 cairo.PDFSurface.crea
我在让 Pango Cairo 自动换行时遇到问题。下面是一些演示代码。我将布局的宽度设置为与红色矩形相同,因此我希望它环绕到红色矩形。实际上,它只是在每一行上放置一个单词,就好像宽度设置得很小一样。
这是我的观点: from django.conf import settings from django.http import HttpResponse from django.template.l
我想在 linux (fedora 12) 下使用 GTK 3 创建一个窗口,并使用 cairo-gl 后端在其上绘制一个简单的矩形,为此我想创建一个 cairo-gl 表面。我该怎么做,任何人都可以
我正在尝试从线程绘制到 cairo 图像表面,但出现断言错误: gtk_mt: /build/buildd/cairo-1.10.2/src/cairo-surface.c:385: _cairo_s
我收到 OSError: dlopen() failed to load a library: cairo / cairo-2在新安装后尝试执行 Django 时。使用 Windows。 根据完整的跟
我正在运行 OSX Lion 并尝试为 goocanvas 导入 python 模块, 使用 python2.7. 我设法成功编译了 pygoocanvas-0.14.1,但是当我尝试通过 pytho
我正在使用 Stack 和 Nix 构建一个 Haskell 项目,并依赖于来自 Hackage 的 cairo 库。 当我构建项目时,出现错误:无法找到 pkg-config >= 0.9.0 或
我是开罗的新手,我已经阅读了其网站上的教程/文档。 现在我可以制作线条、矩形,基本上我可以渲染图像但不能渲染文本。 我正在使用以下代码 cairo_select_font_face (cr, "mon
根据cairo example code ,以下代码 double x=25.6, y=128.0; double x1=102.4, y1=230.4, x2=153.6, y2=2
我在两个位置安装了 python,在操作系统中默认为 2.6.6,在/usr/local/bin/python2.7 中为 2.7。 我已经使用 configure/make/make install
我希望我在开罗的文本遵循绘制的路径。类似于 this . 现在这个链接来自a post在声称已经对此进行编码的开罗邮件列表中。只有代码链接位于 svn.gnome.org这似乎已被撤下。我的问题是,有
我正在尝试学习如何使用 Cairo 2D drawing library与 xlib 曲面。 我编写了一个允许创建多个窗口的小测试程序。每个函数可能有一个自定义的paint()函数,定期调用该函数以向
如果我们不检查 cairo 上下文是否存在会发生什么,如果返回 false 会发生什么,例如: bool MyClass::on_draw(const Cairo::RefPtr& cr) {
我在尝试运行以下命令时不断收到此错误: python -m weasyprint http://weasyprint.org weasyprint.pdf 错误: raise OSError("d
我有一个简单的 Cairo 程序,它试图在 600x600 PNG 中绘制由点组成的对角线。但是,每当我尝试使用对 cairo_stroke() 的一次调用来渲染所有点时,输出似乎被截断了。 具体来说
我有一个 cairo_t cr,我可以用它来使用 cairo。我想尝试在这个 cairo 图形上创建一个突出显示效果,它应该执行以下操作之一: 调亮整个图像,使其看起来更亮一些 将背景,即图像的透明部
我正在使用 C++ 和 GTK3 开发一个应用程序,但我被卡住了。我用 glade 创建了一个可视化应用程序,它具有三列,其中一列(中间一列)是 DrawingArea。在那个 DrawingArea
我是一名优秀的程序员,十分优秀!