【问题标题】:Installing PIL on OS X Snow Leopard w/Xcode4 (no PPC support)在 OS X Snow Leopard w/Xcode4 上安装 PIL(不支持 PPC)
【发布时间】:2011-03-20 05:10:50
【问题描述】:

Xcode4 放弃了 PPC 支持,所以当我尝试构建 PIL 时,它会引发仇恨:

Bens-MacBook-Air:Imaging-1.1.7 bkeating$ python setup.py build
running buildrunning build_pyrunning build_ext
--- using frameworks at /System/Library/Frameworks
building '_imaging' extension
/usr/bin/gcc-4.0 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch ppc -arch x86_64 -pipe -DHAVE_LIBJPEG -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -I/usr/local/include/freetype2 -IlibImaging -I/System/Library/Frameworks/Python.framework/Versions/2.6/include -I/usr/local/include -I/usr/include -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c decode.c -o build/temp.macosx-10.6-universal-2.6/decode.o
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/as: assembler (/usr/bin/../libexec/gcc/darwin/ppc/as or /usr/bin/../local/libexec/gcc/darwin/ppc/as) for architecture ppc not installed
Installed assemblers are:
/usr/bin/../libexec/gcc/darwin/x86_64/as for architecture x86_64
/usr/bin/../libexec/gcc/darwin/i386/as for architecture i386
decode.c:688: fatal error: error writing to -: Broken pipe
compilation terminated.
lipo: can't open input file: /var/folders/jW/jW0VkC8uEb4lAjcJou+OaU+++TI/-Tmp-//ccEmCpUp.out (No such file or directory)
error: command '/usr/bin/gcc-4.0' failed with exit status 1

我手动运行了第一行,并删除了-arch ppc 选项,它没有报告任何错误,但重新运行构建过程会忽略此手动尝试。 `gcc-4.0 也不存在,我把它符号链接到 gcc-4.2。

我可以先安装 Xcode3,然后再安装 4,但我想搞砸我的全新安装。

有没有办法告诉 PIL 不要为 PPC 编译?我在整个发行版中进行了一次 grep,但我没有找到任何提及 PPC 的内容。有什么想法吗?

【问题讨论】:

  • 已解决:该解决方案与 PIL 无关,而是设置 gcc 的 ARCHFLAGS。例如。 ARCHFLAGS="-arch i386 -arch x86_64" sudo pip install PIL.
  • 您应该将其作为答案。允许/鼓励您回答自己的问题(当然前提是您确实在给出答案)。
  • 当我使用这个命令行没有错误并且它说成功时,我得到所有脚本的“ImportError:没有名为 PIL 的模块”

标签: python xcode python-imaging-library powerpc


【解决方案1】:

解决方案与PIL无关,而是设置gcc的ARCHFLAGS:

ARCHFLAGS="-arch i386 -arch x86_64" sudo pip install PIL

【讨论】:

  • 不要写“已解决”,只需单击为您解决问题的答案旁边的复选标记。
【解决方案2】:

ARCHFLAGS 似乎没有传递给 sudo。我不得不这样做

sudo -s

然后ARCHFLAGS="-arch i386 -arch x86_64" pip install PIL 让它发挥作用。

【讨论】:

  • 我觉得你可以sudo ARCHFLAGS="-arch i386 -arch x86_64" pip install PIL?
【解决方案3】:

在我看来,解决此问题的更好方法是编辑您的 ~/.profile 或 /etc/bashrc 并添加以下行:

export ARCHFLAGS="-arch i386 -arch x86_64"

将省去任何未来安装的麻烦(我只需要这样做以在 CPAN 中安装大量 Perl 模块)!

【讨论】:

  • +1,为我工作。 @Steve,我目前不使用 Xcode,但是设置这个环境变量(并且忘记了我做过)以及后来使用 Xcode 进行 iOS 开发是否有缺点?还是 Xcode 显式地覆盖了这个变量?
  • 据我所知没有?我认为这是从较旧的 OS X 版本(支持 PPC)升级到较新的版本(例如 Snow Leopard 或 Lion)时的一个问题,也许还有新的 XCode?我全新安装了 Snow Leopard,之后升级到 Lion,没有遇到过这个问题!
【解决方案4】:

只是为了帮助别人... 在使用我的 Snow Leopard/XCode 4 系统构建映像之前,我必须使用 ARCHFLAGS="-arch x86_64",即在它们中包含“-arch i386”停止了它对我的工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-30
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    • 2014-09-19
    • 1970-01-01
    • 2013-02-24
    相关资源
    最近更新 更多