【问题标题】:wxmac image not found (Python 2.7.5, OS X)未找到 wxmac 图像(Python 2.7.5,OS X)
【发布时间】:2014-10-10 18:56:37
【问题描述】:

我在 2012 年“安装了 brew”wxmac。最近,我“brew 升级”然后“清理”了。从那以后,我就不能再导入wx了:

Python 2.7.5 (default, Mar  9 2014, 22:15:05) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/wx-2.9.4-osx_cocoa/wx/__init__.py", line 45, in <module>
    from wx._core import *
  File "/Library/Python/2.7/site-packages/wx-2.9.4-osx_cocoa/wx/_core.py", line 4, in <module>
    import _core_
ImportError: dlopen(/Library/Python/2.7/site-packages/wx-2.9.4-osx_cocoa/wx/_core_.so, 2): Library not loaded: /opt/local/lib/libwx_osx_cocoau_xrc-2.9.4.0.0.dylib
  Referenced from: /Library/Python/2.7/site-packages/wx-2.9.4-osx_cocoa/wx/_core_.so
  Reason: image not found

看起来我现在有一个比 2.9.4 更新的版本:

brew install wxmac
Warning: wxmac-3.0.1 already installed

查看我的 Python 安装,这些是相关文件:

ls /Library/Python/2.7/site-packages/
wx
wx-2.9.4-osx_cocoa
wx.pth
wxPython_common-2.9.4.0-py2.7.egg-info
wxversion.py
wxversion.pyc

我怀疑“brew cleanup”删除了我较旧但工作的 wxmac 版本。现在,wxmac 版本或某些符号链接导致了当前问题。我应该如何解决或解决它?

【问题讨论】:

    标签: python python-2.7 homebrew wxwidgets


    【解决方案1】:

    看起来 wxpython 文件是从 /Library 复制或符号链接到或仅从 /Library 引用的; Homebrew 永远不会将文件安装到 /Library 并且如果您或安装程序将它们放在那里,也不知道如何管理它们。要使用 Homebrew wxpython,请从 /Library site-packages 文件夹和 brew install wxpython 中删除所有与 wx 相关的内容,以及 wxmac

    要将 wxpython 与系统 Python 一起使用,您需要告诉 Python 您的 Homebrew site-packages 文件夹是一个特殊的“site-packages”文件夹;将它放在 sys.path 中是不够的,因为 wxpython 依赖于仅在特殊文件夹中处理的 .pth 文件。为此,您可以运行:

    mkdir -p ~/Library/Python/2.7/lib/python/site-packages
    echo "import site; site.addsitedir('$(brew --prefix)/lib/python2.7/site-packages')" >> ~/Library/Python/2.7/lib/python/site-packages/homebrew.pth
    

    那么,import wx 应该可以工作了。

    【讨论】:

    • 嘿,蒂姆。我brew安装了wxmac和wxpython。我在第三步卡住了。您建议的“回声”导致-bash: /Users/smaniato/Library/Python/2.7/lib/python/site-packages/homebrew.pth: No such file or directory 将路径更改为~/../../Library/Python/2.7/site-packages/homebrew.pth 说“权限被拒绝”,即使我 sudo 运行它也是如此。正如预期的那样,import wx 现在结果为 Traceback (most recent call last): File "&lt;stdin&gt;", line 1, in &lt;module&gt; ImportError: No module named wx 非常感谢您的帮助!
    • 啊,是的,抱歉:您需要先使用mkdir -p ~/Library/Python/2.7/lib/python/site-packages 创建路径。编辑答案以反映。
    猜你喜欢
    • 2014-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 2012-10-31
    相关资源
    最近更新 更多