Construire Python 3 sur OS X: [Python / importlib.H] erreur 133
j'essaie de construire Python (3.5.2) sur OS X El Capitan (10.11.5). Cependant, je tombe sur une erreur quand j'essaie de make
. L'erreur semble être lié à _freeze_importlib
.
/usr/local/src/Python-3.5.2 $ make
if test "no" != "yes"; then
./Programs/_freeze_importlib
./Lib/importlib/_bootstrap.py Python/importlib.h;
fi
dyld: lazy symbol binding failed: Symbol not found: _getentropy
Referenced from: /usr/local/src/Python-3.5.2/./Programs/_freeze_importlib
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _getentropy
Referenced from: /usr/local/src/Python-3.5.2/./Programs/_freeze_importlib
Expected in: /usr/lib/libSystem.B.dylib
/bin/sh: line 1: 56666 Trace/BPT trap: 5 ./Programs/_freeze_importlib ./Lib/importlib/_bootstrap.py Python/importlib.h
make: *** [Python/importlib.h] Error 133
/usr/local/src/Python-3.5.2 $
Vous pouvez voir mon étapes GitHub.
la sortie complète du Terminal jusqu'à la make
fail est dans un Gist.
je reconnais pleinement qu'il s'agit d'un exercice académique, comme El Capitan vient avec Python 2.7.10 et vous pouvez installez facilement Python 3.5.2 avec le paquet officiel de l'installateur OS X ou via Homebrew.
la documentation pour utiliser Python sur les plateformes Unix fournit des instructions de construction. La documentation pour utiliser Python sur un Macintosh spécifie d'utiliser le paquet de l'installateur OS X.
cependant, il devrait être possible de construire sur Mac.
Python sur un Macintosh l'exécution de Mac OS X est en principe très similaire à Python sur N'importe quelle autre plate-forme Unix, mais il y a un certain nombre de fonctionnalités supplémentaires telles que L'IDE et le Gestionnaire de paquets qui valent la peine d'être soulignées.
pour l'instant, je ne m'inquiète pas de ces fonctionnalités supplémentaires. Juste curieux de savoir pourquoi je reçois un make
erreur.
2 réponses
corrigé.
Dans la sortie de ./configure
, j'ai remarqué une référence à /Applications/Xcode-beta.app/Contents/Developer/
. J'ai installé Xcode 8 (beta) il y a quelques jours. Après le retour aux outils de ligne de commande réguliers (avec Xcode 7.3.1)
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
make
réussi. Pas parfaitement.
Python build finished successfully!
The necessary bits to build these optional modules were not found:
_dbm _gdbm _sqlite3
_ssl nis ossaudiodev
spwd zlib
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
Failed to build these modules:
_lzma _tkinter
j'espère que je n'ai pas besoin de ces modules.
j'ai mis la sortie complète de ./configure
et make
dans ce Gist. Je ne comprend pas la sortie de make install
comme il était trop long et semblait ne répéter que les avertissements et les erreurs de make
.
Notes
- je n'ai pas utiliser
--enable-framework
ou--enable-universalsdk
.
je pense que la meilleure solution est xcode-select --install
.
si vous mettez à jour Xcode en 8 (beta), vous devez lancer xcode-select --install
de nouveau pour installer tous les outils de construction.
j'ai rencontré le même problème que le vôtre et je peux installer avec succès python via brew avec Xcode8 après avoir exécuté xcode-select --install
.
j'espère que cela aidera d'autres avec la même question ici.