Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python“;进口wx“;错误_Python_Macos_Wxpython - Fatal编程技术网

Python“;进口wx“;错误

Python“;进口wx“;错误,python,macos,wxpython,Python,Macos,Wxpython,我最近安装了Python2.7.3(从2.6开始),并意外地在我的Mac上重新安装了Wxpython2.8Unicode。现在,当我尝试导入wx时,我得到 >>> import wx Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/s

我最近安装了Python2.7.3(从2.6开始),并意外地在我的Mac上重新安装了Wxpython2.8Unicode。现在,当我尝试导入wx时,我得到

>>> import wx
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/__init__.py", line 45, in <module>
    from wx._core import *
  File "/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_core.py", line 4, in <module>
    import _core_
ImportError: dlopen(/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_core_.so, 2): no suitable image found.  Did find:
/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_core_.so: no matching architecture in universal wrapper
导入wx 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_u init___;.py”,第45行 从wx.\u核心导入* 文件“/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site packages/wx-2.8-mac-unicode/wx/_core.py”,第4行,在 导入核心_ 导入错误:dlopen(/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_-core)。因此,2):未找到合适的映像。确实发现: /usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_-core。因此:通用包装中没有匹配的体系结构 为什么会这样?我确实
defaults编写了com.apple.versioner.python preferred-32位-bool yes
,并且
打印(“%x”%sys.maxsize,sys.maxsize>2**32)
仍然返回
('7fffffffffff',True)
。这是否意味着它在64位模式下运行?如果是这样的话,这就是我得到这个错误的原因吗

编辑:在python2.6中导入wx时也会发生这种情况。但是什么都不应该改变,因为我有相同版本的wxPython


另一个编辑:使用
arch
,我确定这是因为它是在64位模式下运行的。但是,它是64位的,尽管
首选32位-bool yes
。为什么会这样?我注意到/usr/bin/python仍然运行2.6。

这肯定是架构不匹配。在编译wx之前,请尝试设置此环境变量,而不是将python作为32位运行:

export ARCHFLAGS='-arch x86_64'

这肯定是架构不匹配。在编译wx之前,请尝试设置此环境变量,而不是将python作为32位运行:

export ARCHFLAGS='-arch x86_64'

如果你想在mac上运行ride(robotframework),我想我也有同样的问题要问你。你可以下载python版本(Mac OS X 32位i386/PPC安装程序),是的,你必须使用它而不是其他版本。你可以从网上下载:我的案例是否在Mac pro中运行ride?如果你想在Mac中运行ride(robotframework),我想我也有同样的问题要问你。您可以下载python版本(Mac OS X 32位i386/PPC安装程序),是的,您必须使用它,而不是其他版本。您可以从web下载:我的案例是否在Mac pro中运行?我在Mac上,wx只在32位上运行,因为它依赖于Carbon框架,后者已经过时,只支持32位。我从下载的软件包中安装了wxPython。啊,我现在明白了。但仍然是错误的架构。尝试一下可以工作的
arch-i386python
,但它似乎不是一个永久的解决方案。有没有一种方法可以强制Python以32位打开,而无需通过另一个(arch)程序进行管道传输?类似于
python-32
?如果它不是系统python,您应该能够在~/.配置文件中设置它:
export VERSIONER\u python\u preference\u 32\u BIT=yes
您所说的“编译wx”是什么意思?我在Mac上,wx只在32位上运行,因为它依赖于Carbon框架,后者已经过时,只支持32位。我从下载的软件包中安装了wxPython。啊,我现在明白了。但仍然是错误的架构。尝试一下可以工作的
arch-i386python
,但它似乎不是一个永久的解决方案。有没有一种方法可以强制Python以32位打开,而无需通过另一个(arch)程序进行管道传输?类似于
python-32
?如果它不是系统python,您应该能够在~/.配置文件中设置它:
export VERSIONER\u python\u preference\u 32\u BIT=yes