GNU/Linux >> Tutoriels Linux >  >> Linux

Empaqueter un script Python sous Linux dans un exécutable Windows

Comme mentionné par d'autres répondeurs, la fonction de compilation croisée est supprimée de PyInstaller depuis 1.5 . Ici, montrez comment empaqueter un exécutable Windows à partir de scripts Python à l'aide de PyInstaller sous wine.

Étape 1 :Installer Wine et Python

sudo apt-get install wine
wine msiexec /i python-2.7.10.msi /L*v log.txt

PS :

  • Les nouvelles versions de Python incluent déjà pip (est utilisé pour installer pyinstaller ). Téléchargez le package d'installation Python à partir d'ici (par exemple, python-2.7.10.msi )

  • Pour les utilisateurs de macos, utilisez brew cask install xquartz wine-stable .

Étape 2 :Installer PyInstaller sur wine

$ cd ~/.wine/drive_c/Python27
$ wine python.exe Scripts/pip.exe install pyinstaller

Successfully installed pyinstaller-3.1.1 pypiwin32-219

Étape 3 :Empaquetez les scripts Python

Empaquetez les scripts Python (par exemple, HelloWorld.py ) avec pyinstaller .

$ wine ~/.wine/drive_c/Python27/Scripts/pyinstaller.exe --onefile HelloWorld.py

# filename: HelloWorld.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

print('Hello World!')

Le fichier exécutable Windows se trouve dans dist/ .

$ wine dist/HelloWorld.exe 
Hello World!
fixme:msvcrt:__clean_type_info_names_internal (0x1e24e5b8) stub

Reportez-vous ici pour la description détaillée.


Avez-vous regardé PyInstaller ?

Il semble que les versions jusqu'à 1.4 prennent en charge la compilation croisée (la prise en charge a été supprimée dans 1.5+). Voir cette réponse pour savoir comment le faire avec PyInstaller 1.5+ sous Wine.

La documentation indique :

Ajout de la prise en charge de la compilation croisée :PyInstaller est désormais capable de créer des exécutables Windows lorsqu'il s'exécute sous Linux. Voir la documentation pour plus de détails.

Je n'ai pas essayé moi-même.

J'espère que ça aide


Linux
  1. Comment utiliser Python pour interroger WMI (Linux - Windows)

  2. Prendre une capture d'écran via un script Python sous Linux

  3. Comment faire fonctionner un script Python comme un service ou un démon sous Linux

  4. Comment appeler Wine dll depuis python sous Linux ?

  5. Comment quitter le terminal Linux en utilisant le script Python ?

Comment vérifier la version de Python sous Linux, Mac et Windows

Façons de développer des applications Windows sur Linux

Comment exécuter des applications et des jeux Windows sur Linux à l'aide de Wine

Comment se connecter en SSH à votre serveur Linux à partir de Windows

Comment se connecter en SSH à une machine Windows 10 depuis Linux OU Windows OU n'importe où

Sécurité Linux contre Windows