[PYTHON] Wenn die nicht unterstützte Architektur mit pip (Mac) herauskommt

Apple hat angekündigt, im Juni 2020 einen Mac mit ARM herauszubringen Es wurde noch nicht veröffentlicht, aber es hat tatsächlich Auswirkungen. Ich verwende pipenv für die Python-Umgebung, aber beim Erstellen dieser Umgebung ist ein Fehler aufgetreten, daher habe ich dies notiert.

Umgebung

macOS Catalina 10.15.7 Pipenv 2020.11.4

Fehlerinhalt

Bei der Installation von mysqlclient ist ein Fehler aufgetreten, aber das Modul, das ich installiere, scheint nicht viel mit diesem Problem zu tun zu haben

$ pipenv install mysqlclient

Wenn Sie diesen Befehl drücken, wird eine große Anzahl von Fehlern ausgegeben und die Installation schlägt fehl. Blick in den Fehler,

[pipenv.exceptions.InstallError]:     Complete output (120 lines):
[pipenv.exceptions.InstallError]:     running install
[pipenv.exceptions.InstallError]:     running build
[pipenv.exceptions.InstallError]:     running build_py
[pipenv.exceptions.InstallError]:     creating build
[pipenv.exceptions.InstallError]:     creating build/lib.macosx-10.14.6-x86_64-3.8
[pipenv.exceptions.InstallError]:     creating build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
[pipenv.exceptions.InstallError]:     copying MySQLdb/__init__.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
[pipenv.exceptions.InstallError]:     copying MySQLdb/_exceptions.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
[pipenv.exceptions.InstallError]:     copying MySQLdb/connections.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
[pipenv.exceptions.InstallError]:     copying MySQLdb/converters.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
[pipenv.exceptions.InstallError]:     copying MySQLdb/cursors.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
[pipenv.exceptions.InstallError]:     copying MySQLdb/release.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
[pipenv.exceptions.InstallError]:     copying MySQLdb/times.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
[pipenv.exceptions.InstallError]:     creating build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
[pipenv.exceptions.InstallError]:     copying MySQLdb/constants/__init__.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
[pipenv.exceptions.InstallError]:     copying MySQLdb/constants/CLIENT.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
[pipenv.exceptions.InstallError]:     copying MySQLdb/constants/CR.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
[pipenv.exceptions.InstallError]:     copying MySQLdb/constants/ER.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
[pipenv.exceptions.InstallError]:     copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
[pipenv.exceptions.InstallError]:     copying MySQLdb/constants/FLAG.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
[pipenv.exceptions.InstallError]:     warning: build_py: byte-compiling is disabled, skipping.
[pipenv.exceptions.InstallError]:
[pipenv.exceptions.InstallError]:     running build_ext
[pipenv.exceptions.InstallError]:     building 'MySQLdb._mysql' extension
[pipenv.exceptions.InstallError]:     creating build/temp.macosx-10.14.6-x86_64-3.8
[pipenv.exceptions.InstallError]:     creating build/temp.macosx-10.14.6-x86_64-3.8/MySQLdb
[pipenv.exceptions.InstallError]:     xcrun -sdk macosx clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/Headers -arch arm64 -arch x86_64 -I/usr/local/opt/[email protected]/include -Dversion_info=(2,0,1,'final',0) -D__version__=2.0.1  -I/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8 -c MySQLdb/_mysql.c -o build/temp.macosx-10.14.6-x86_64-3.8/MySQLdb/_mysql.o
[pipenv.exceptions.InstallError]:     In file included from MySQLdb/_mysql.c:29:
[pipenv.exceptions.InstallError]:     In file included from /usr/local/Cellar/mysql/8.0.22/include/mysql/mysql.h:45:
[pipenv.exceptions.InstallError]:     In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
[pipenv.exceptions.InstallError]:     In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h:52:
[pipenv.exceptions.InstallError]:     In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:32:
[pipenv.exceptions.InstallError]:     /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
[pipenv.exceptions.InstallError]:     #error Unsupported architecture

Und komm raus. Dieser letzte "# Fehler Nicht unterstützte Architektur" ist das Miso, das bei der Installation tatsächlich die ARM-Architektur angibt. Daher können Sie die aktuelle Architektur "x86_64" angeben.

$ export ARCHFLAGS="-arch x86_64"

Tun Sie dies und führen Sie "pipenv install mysqlclient" erneut aus

Die schädlichen Auswirkungen, ARM zu werden, kommen von einem solchen Ort.

Recommended Posts

Wenn die nicht unterstützte Architektur mit pip (Mac) herauskommt
Wenn Moos mit Pip installieren
Wenn das auf Mac / Marvericks installierte Programm pip nicht funktioniert
Wenn ich mit xonsh Screenfetch mache, kommt Python x.x heraus und es ist traurig
Wenn Anaconda Navigator (Mac) nicht startet
Eine Problemumgehung bei der Installation von pyAudio mit pip.
Fehler beim Installieren eines Moduls mit Python pip
Umgang mit Fehlern beim Auftreffen auf pip pip
Spinne nicht gefunden erscheint beim Crawlen mit Scrapy
Wenn die Platzhalterspezifikation mit Pylint nicht funktioniert
Ich habe eine Fehlermeldung erhalten, als ich Pandas auf einem Mac installiert habe, also habe ich mich damit befasst