web-dev-qa-db-fra.com

Python: Aucun module nommé Zlib, Mac OS X El Capitan 10.11.6

J'essaie de convertir mon application de ligne de commande python en une application avec py2app. À chaque fois que j'essaie d'importer zlib ou d'essayer d'installer setuptools, j'obtiens une erreur: aucun module nommé zlib.

Python a été installé avec brew. J'ai parcouru tous les coins d’internet et débordé de pile, j’ai réinstallé python avec brew, j’ai installé tous les éléments liés à la CLI Xcode avec:

xcode-select --install

J'ai aussi couru:

ls /usr/include/zlib.h

et je peux voir que zlib est là où il est supposé être.

Réinstallé avec:

brew reinstall python

Malheureusement, cela n'a pas fonctionné pour moi. Je ne peux pas comprendre ce qui ne va pas.

Des idées?

11
Luis Valdez

J'ai eu le même problème et la solution à https://github.com/Homebrew/homebrew-core/issues/29176 a travaillé pour moi: réinstallez python@2:

brew reinstall python@2

(Avant d’essayer, j’essayais également d’installer zlib avec Homebrew - brew install zlib; cela a peut-être contribué au bon fonctionnement de celui-ci.)

13
Frans

La solution d'une autre réponse a fonctionné pour moi. C'est peut-être le problème de l'installation de xcode: https://stackoverflow.com/a/34996223/2792278

dans le terminal

xcode-select --install

et réinstallez python avec infusion.

5

Ma solution sur Mojave (10.14), simplement en créant un lien symbolique. Veuillez prendre note que votre version de zlib et de python peut varier.

Dans le terminal, exécutez ce qui suit: -

brew install zlib

ln -s /usr/local/Cellar/zlib/1.2.11/include/* /usr/local/include

ln -s /usr/local/Cellar/zlib/1.2.11/lib/* /usr/local/lib

brew reinstall python
1
xwspot

L'installation des en-têtes MacOS SDK comme suggéré par ce problème résout ce problème assez proprement.

Pour ce faire, exécutez ce qui suit (pour MacOS 10.14):

xcode-select --install
Sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

et ensuite brew install python

0
Thomas