Problème "pas d'architecture correspondante dans un wrapper universel" dans wxPython?
Je suis sous Python 2.7 sous Mac OS 10.6.4, et je viens d'installer wxPython de la wxPython2.8-osx-unicode-2.8.11.0-universal-py2.7.dmg
binaire. J'obtiens une erreur bizarre sur le import wx
ligne dans mes scripts Python. Pour info, je peux importer le module wx juste une amende de PyCrust. Je ne vois vraiment pas ce que j'ai fait de mal ici. Quelqu'un pourrait s'il vous plaît aider?
File "prod_cons_wx.py", line 6, in <module>
import wx
File "/usr/local/lib/wxPython-unicode-2.8.11.0/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.11.0/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.11.0/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.11.0/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_core_.so: no matching architecture in universal wrapper
source d'informationauteur c00kiemonster
Vous devez vous connecter pour publier un commentaire.
Il semble que C modules d'extension inclus avec le wxPython 2.7 dmg ici sont uniquement 32 bits.
Malheureusement,
platform.architecture()
ne donne pas une indication précise de l'arc qui un OS X multiple de l'architecture Python est en cours d'exécution. Par exemple, en utilisant le 3-arc python.org programme d'installation de Python 2.7,platform.architecture()
toujours des rapports de 64 bits, même lors de l'exécution en mode 32 bits:Le moyen fiable est d'examiner
sys.maxint
pour Python 2 ousys.maxsize
pour Python 3.Vous ne le mentionnez dans votre question comment vous appelez Python. Est-ce par l'intermédiaire d'une ligne shebang dans un fichier de script? Si oui, vous pourriez ne pas être en cours d'exécution le Python que vous pensez de vous. Aussi, vous n'avez pas indiquer de Python 2.7 que vous avez installés. Par exemple, il existe actuellement deux programmes d'installation de Python 2.7 de python.org: l'un prend en charge les versions 32 et 64 bits d'exécution, l'autre est de 32 bits uniquement. Essayez ce qui suit:
Donc: si vous avez un multi-arch version de Python, vous aurez besoin de le forcer à s'exécuter en mode 32 bits de faire usage de la pré-compilé wxPython.
Juste pour clarifier Ned Deily " suggestion re: utilisation arc -i386 python2.7 script.py pour s'exécuter en mode 32 bits. La ligne de commande exacte est arc -i386 python pywrap spare.py. Cela vous permettra d'exécuter PyCrust (en mode 32 bits sur OSX 10.6.x).
Il y a deux fichiers pour système 32 bits, python2.7-32 et pythonw2.7-32.
Vous pouvez utiliser ces deux fichiers d'exécution de votre script.
Je lien python à la python2.7-32 et lien pythonw à la pythonw2.7-32.
Mes scripts fonctionnent bien.
vous pouvez essayer.
Il y a maintenant un développement version 64 bits de Cacao soutien à http://downloads.sourceforge.net/wxpython/wxPython2.9-osx-2.9.4.0-cocoa-py2.7.dmg trouvé à cette page: http://www.wxpython.org/download.php#stable
Qui a fonctionné pour moi.
Comment avez-vous installé python sur OSX Snow Leopard (10.6) de la Série?
Est votre python compilé en 64 bits ou 32 bits.
Essayez de la manière suivante:
Vérifier si le binaire (wxpython dmg) a été compilée en 32 ou 64 bits.
Vous pourriez avoir à chercher un paquet qui est compatible avec votre architecture ou vous pourriez avoir à compiler à partir des sources sur votre machine.
Je vous suggère d'utiliser macports.
et cela devrait fonctionner pour vous!