2010-11-10 8 views
3

J'essaie de résoudre toute une série de problèmes liés à la mise à jour de mon Macintosh à 10.6. La plupart des outils dont j'ai besoin fonctionnent, mais un couple (scipy, wxpython) ne le fait pas, et donne des messages d'erreur qui suggèrent fortement que je bousillerais quelque chose avec des binaires 64 bits et 32 ​​bits.Macintosh Python: problèmes 64 bits vs 32 bits

Je cours actuellement Python 2.7. Je ne sais pas si c'est une version 32 bits ou 64 bits. Comment je le dis? Ce qui m'inquiète le plus, c'est que j'ai un mélange bizarre de 32 bits et de 64 bits, et que je devrais tout mettre au rebut et réinstaller. Si je fais cela, et que je veux éviter autant de problèmes de construction que possible, dois-je (1) installer la version 32 bits, (2) installer la version 64 bits et m'assurer que tout ce que je construis est activé en 64 bits, ou (3) autre chose.

J'ai essayé sans succès de trouver des pages Web à ce sujet, car d'autres personnes ont dû trébucher sur ces problèmes, mais je m'excuse si je ressasse de vieux problèmes ici. J'ai aussi essayé très fort de ne pas taper la déclaration offensive "Je ne me soucie pas de 32 bits vs 64 bits, je veux juste Python à travail", mais, en effet, c'est ce que je demande ici .

Des tas de gratitude à ceux qui peuvent m'aider à faire le tri, et je m'excuse si je suis juste en train d'être dense.

+1

Exécutez ce script: 'plateforme d'importation; platform.architecture() '. Ça dit quoi? –

+0

est numpy etc compilé avec les deux architectures i386 et x86_64? – GWW

+0

>>> plateforme d'importation; platform.architecture() ('64bit', '') – Rick

Répondre

1

J'ai également eu des problèmes majeurs de mise à niveau, donc vous n'êtes pas seul, seulement un peu en retard.

Pour savoir quel type de binaire que vous avez, la commande file est votre ami:

$ file /usr/local/bin/python 
/usr/local/bin/python: Mach-O universal binary with 2 architectures 
/usr/local/bin/python (for architecture i386): Mach-O executable i386 
/usr/local/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64 

Vous pouvez également être conseillé d'utiliser MacPorts ou (encore mieux) HomeBrew.

Si vous utilisez déjà MacPorts et que plus rien ne fonctionne, vous pouvez même vouloir le désinstaller et recommencer à zéro avec Homebrew. Cela vous amène rapidement à un point où l'enfer est moins chaud. Après cela, vous avez seulement besoin de comprendre comment compiler cette importante bibliothèque ésotérique à la bonne architecture.

+0

J'ai essayé d'essayer HomeBrew ou Ports pendant un moment. Je devrais peut-être intervenir. Je n'ai jamais été aussi content de Fink, alors je compile le mien depuis. – Rick

1

Pour wxPython, essayez d'utiliser ce tralala comme la première ligne de votre script:

#!/usr/bin/arch -arch i386 python2.7 

Ou depuis la ligne de commande avec

arch -arch i386 python2.7 yourScript.py 

Fondamentalement, votre exécutable python doit inclure à la fois 32- versions bit et 64 bits, et la commande 'arch' indique au système avec lequel exécuter.

Questions connexes