Ich benutze eine 64-Bit-Windows-Maschine mit 64-Bit-Python3. Ich brauche eine installierbare Paket für eine Windows 32-Bit-Maschine zu bauen und stolperte über die Cross-Compiler Merkmal der bdist Funktion: https://docs.python.org/3/distutils/builtdist.htmlCrosscompile Python bdist_wininst ausführbare Dateien
Ich bin mit einem setup.py wie folgt aus:
from ez_setup import use_setuptools
use_setuptools()
from setuptools import setup, find_packages
setup(name='mypackage',
version='1.0',
description='Some Description',
install_requires=['requests'],
package_dir={'': 'src'},
packages=[''],
entry_points = {'console_scripts': ['somescript = foobar:main']},
)
und bauen die installieren von Paketen wie so:
python setup.py build --plat-name=win32 bdist_wininst --user-access-control auto
python setup.py build --plat-name=win-amd64 bdist_wininst --user-access-control auto
In beiden Fällen habe ich das richtige executeable Format für die angegebene Architektur, sondern die definierte console_script somescript
nach der Installation nicht executeable wurde. Die Python-Dokumentation sagt, dass ich das ganze Python-Paket für Windows kompilieren muss - aber ich bin unsicher, ob das überhaupt nötig ist, weil das Installationsprogramm für die richtige Architektur war und ich während des Build-Prozesses keine Fehlermeldung bekam. Stimmt etwas nicht mit dem Befehl? Muss ich wirklich crosscompile oder ist es ausreichend, eine zweite 32-Bit-Installation von Python zu haben?