Erstellen Sie Python3 für Windows 10 unter ARM mit Visual Studio 2019 (x86) unter Windows 10 unter ARM

Einführung

Vorheriger Beitrag "Erstellen von 7-zip (19.00) für Windows 10 unter ARM mit Visual Studio 2019 (x86) unter Windows 10 unter ARM Dieses Mal habe ich versucht, Python3 zu erstellen.

Ich habe selbst nicht viel Erfahrung mit Python, aber ich habe gesehen, dass es gelegentlich als OSS-Build-Hilfe-Skript verwendet wird. Daher dachte ich, es wäre nützlich, es [hier] nativ zu machen. ](Https://bugs.python.org/issue33125) Ich sah einen Austausch, der etwas zu sein schien, das ich tun konnte, und entschied mich, die Herausforderung anzunehmen.

Erstellen Sie Python3

Dieses Mal werden wir vorerst die 3.8-Serie verwenden, die der aktuelle Stable ist. Obwohl es einige lächerliche Einschränkungen gibt (später beschrieben), konnte ich mit der folgenden Befehlsgruppe schnell erstellen.

git clone https://github.com/python/cpython -b 3.8
cd .\cpython\PCbuild
build.bat -p ARM64 -c Release

python_01.png

Zwang

Es scheint, dass NuGet beim Erstellen von Python verschiedene externe Module unter ". \ Cpython \ externals" installiert, aber einige externe Module sind für ARM64 nicht enthalten und der Build wird übersprungen.

Unter ihnen dachte ich, es wäre ein bisschen einsam, dass tkinter (TclTk), ein Standard-Python-GUI-Modul, nicht verwendet werden könnte, also habe ich versucht, TclTk zu erstellen.

Build tkinter (TclTk)

TclTk, das zum Zeitpunkt dieses Python-Builds von NuGet installiert wurde, war Version 8.6.9, aber ich glaube, dass der Build [hier] etwas einfacher zu übergeben ist (https://www.tcl.tk/software/tcltk/). Laden Sie tcl8610-src.zip und tk8610-src.zip von der Website download.html herunter und extrahieren Sie sie an Ihren Arbeitsort.

Änderung des Dateiinhalts

  1. Es scheint, dass das Skript es nicht unterstützt, daher habe ich diesmal ARM64 zwangsweise angegeben. Rules.vc in. \ Tcl8.6.10 \ win Stellen Sie ARM64 in Zeile 473 auf den Parameter MACHINE MACHINE=$(ARCH)MACHINE=ARM64

  2. Außerdem sieht die cpuid-Funktion wie ein Assembler aus, daher habe ich sie diesmal zwangsweise weggelassen. tclWin32Dll.c in. \ Tcl8.6.10 \ win Kommentar aus Zeile 820 __cpuid(regsPtr, index);/*__cpuid(regsPtr, index);*/

Erstellen Sie TclTk

Wenn es normal erweitert wird, starten Sie ein Befehlsfenster an den Ordnerpositionen ". \ Tcl8.6.10 \ win" bzw. ". \ Tk8.6.10 \ win".

Bereiten Sie die Toolset-Umgebung wie gewohnt für ARM64 vor

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_arm64

Jetzt fang an zu bauen!

Aus irgendeinem Grund ärgere ich mich jedoch beim Erstellen unter Windows 10 unter ARM darüber, dass "TCLSH_NATIVE nicht festgelegt ist". Daher habe ich vorerst die x86-Version von TclTk angegeben, die von NuGet beim Erstellen von Python installiert wurde. ..

nmake -f makefile.vc release OPTS=threads TCLSH_NATIVE="work\cpython\externals\tcltk-8.6.9.0\win32\bin\tclsh86t.exe"

Grundsätzlich wurde der Build mit dem obigen Befehl übergeben, aber beim Kompilieren des SQLite-Moduls des Tcl-Side-Builds wurde aufgrund eines Fehlers im Zusammenhang mit dem Ressourcen-Compiler, wie unten gezeigt, übersprungen.

.\tcl8.6.10\pkgs\sqlite3.30.1.2\win\Release_ARM64_VC1926\sqlite_ThreadedDynamic\sqlite.rc(4) : error RC2167 : unrecognized VERSIONINFO field;  BEGIN or comma expected
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86\rc.EXE"' :Rückgabe Code'0x2'
Stop.

Ich dachte, es würde tkinter nicht beeinflussen, also ging ich diese Zeit durch. ^^; Selbst wenn ich Lust dazu habe, werde ich in Zukunft die Handhabung des Ressourcen-Compilers beim Erstellen für ARM64 untersuchen.

Installieren Sie TclTk

Derzeit ist mir der Unterschied in den Versionsnummern egal, und ich stecke im arm64-Ordner von TclTk fest, der beim Erstellen von Python mit NuGet installiert wurde.

nmake -f makefile.vc install INSTALLDIR="work\cpython\externals\tcltk-8.6.9.0\arm64" TCLSH_NATIVE="work\cpython\externals\tcltk-8.6.9.0\win32\bin\tclsh86t.exe"

Build tkinter (Python neu erstellen)

Jetzt, da TclTk fertig ist, werde ich tkinter erstellen (Python neu erstellen), aber ich war mir nicht sicher, ob es gut neu konfiguriert werden würde, also ist es diesmal in . \ Cpython \ PCbuild. Ich habe die Visual Studio-IDE von pcbuild.sln` aus gestartet und neu erstellt, indem ich hier in "Build Configuration" tkinter hinzugefügt habe.

python_02.png

Ich habe den Vorgang nicht im Detail überprüft, aber vorerst habe ich es geschafft, den Punkt zu erreichen, an dem das GUI-Fenster von tkinter gestartet wurde.

python_03.png

abschließend

Ist dies nicht der einzigartige Geschmack einer kleinen Maschine, bei der die Umwelt im Kampf allmählich bereichert wird? Wir hoffen jedoch, dass die offizielle ARM64-Version so bald wie möglich veröffentlicht wird, um die Verbreitung zu fördern.

Recommended Posts

Erstellen Sie Python3 für Windows 10 unter ARM mit Visual Studio 2019 (x86) unter Windows 10 unter ARM
Erstellen Sie eine Python-Entwicklungsumgebung mit Visual Studio Code
Erstellen Sie eine Python-Umgebung unter Windows
Erstellen Sie eine Python-Umgebung mit Windows
Erstellen Sie die Python-Erweiterung E-Cell 4 unter Windows 7 (64 Bit).
Versuchen Sie, Python auf Raspberry Pi mit Visual Studio zu debuggen.
PIL in Python unter Windows8 (für Google App Engine)
Python-Entwicklungsumgebung mit Windows + Anaconda3 + Visual Studio Code
Python-Entwicklungsumgebung mit Windows + Python + PipEnv + Visual Studio-Code
Erstellen Sie mit Pybind11 eine Umgebung zum Ausführen von C ++ - Funktionen aus Python (für Benutzer von Windows- und Visual Studio-Code).
Erstellen Sie mlpy mit python3.3 (64bit) (Windows 64bit)
Installieren Sie Python und Visual Studio Code unter Windows 10 (Version April 2020)
Erste Schritte mit Python 3.8 unter Windows
Erstellen Sie eine 64-Bit-Python 2.7-Umgebung mit TDM-GCC und MinGW-w64 unter Windows 7
Führen Sie das Servo mit Python unter ESP32 (Windows) aus.
Build-Umgebung für Python 2.7, 3.4, 3.5-Erweiterungsmodule unter Windows
Verwenden Sie es, ohne Python 2.x unter Windows zu installieren
Erstellen Sie eine Python-Umgebung mit Anaconda auf einem Mac
Installationshandbuch für Python Tools für Visual Studio
PIL mit Python 3.x unter macOS installieren
Führen Sie Python in C ++ unter Visual Studio 2017 aus
Python unter Windows
Erstellen Sie eine Python-Entwicklungsumgebung unter Windows (Remote-WSL für Visual Studio Code).
Setzen Sie die MeCab-Bindung für Python unter Windows, Mac und Linux mit pip ein
Janken Poi mit Python Lassen Sie uns für Anfänger auf einem lokalen Windows-Server laufen
Erstellen Sie eine Python-Umgebung mit pyenv auf EC2 (Ubuntu)
(Windows) Ursachen und Problemumgehungen für UnicodeEncodeError in Python 3
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
Führen Sie Python YOLOv3 in C ++ unter Visual Studio 2017 aus
GUI-Automatisierung mit Python x Windows App Driver
Installieren Sie OpenCV 4.0 und Python 3.7 unter Windows 10 mit Anaconda
Bildverarbeitung mit Python Environment Setup für Windows
Fügen Sie Python 2.7.x in pyenv unter Mac OSX 10.15.5 ein
Einstellungen für die Python-Codierung mit Visual Studio-Code
Installieren von TensorFlow unter Windows Easy für Python-Anfänger
[Visual Studio Code] [Python] Tasks.json + problemMatcher-Einstellungen für Python
Schritte zum Erstellen von PyTorch 1.5 für CUDA 10.2 unter Windows
Ich habe es mit Visual Studio Code (hauptsächlich für Python) angepasst, daher werde ich es zusammenfassen
Erstellen Sie eine lokale Entwicklungsumgebung mit WSL + Docker Desktop für Windows + Docker-Lambda + Python
Python ab Windows 7
Python Basic ② in Windows
Installieren Sie Python unter Windows
Erstellen Sie TensorFlow unter Windows
Erstellen Sie XGBoost unter Windows
Build Python auf Ubuntu
Installieren Sie Python (für Windows)
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (3) GVim8.0 und Python3.6
Das Problem, dass Windows Python in pipenv auf WSL aufgerufen wird
[Heroku] Memo zum Bereitstellen von Python-Apps mit Heroku unter Windows [Python]
Zusammenfassung der Tools zum Betreiben der Windows-Benutzeroberfläche mit Python
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (1)
Informationen zur Steuerung von Motoren mit Python auf RaspberryPi
Erstellen Sie eine Python-Entwicklungsumgebung unter Mac OS X.
Stellen Sie sicher, dass Visual Studio Code die externe Bibliothek von Python automatisch vervollständigt
Vorgehensweise zum Erstellen einer CDK-Umgebung unter Windows (Python)
Japanische Ausgabe beim Umgang mit Python im Visual Studio
Entwicklung des AWS SDK für Python (Boto3) in Visual Studio 2017