J'ai donc un script Python:
myscript.py
Je l'exécute comme ceci:
python D:\myscript.py
Cependant, je dois avoir Python installé et inclus dans la variable d'environnement PATH
pour que cela fonctionne.
Est-il possible de "regrouper" Python exécutable avec un script Python afin que d'autres personnes puissent l'exécuter sur leur PC sans Python?)
C'est correct si cela ne fonctionne que sous Windows.
ÉDITER:
Après avoir essayé le compile.py
J'obtiens cette erreur:
Traceback (most recent call last):
File "D:\stuff\compile.py", line 4, in <module>
import py2exe
ImportError: No module named py2exe
Voici une façon de le faire (pour Windows, en utilisant py2exe
).
Tout d'abord, installez py2exe
sur votre Windows box.
Créez ensuite un script python nommé compile.py
, comme ça:
import sys
from distutils.core import setup
import py2exe
entry_point = sys.argv[1]
sys.argv.pop()
sys.argv.append('py2exe')
sys.argv.append('-q')
opts = {
'py2exe': {
'compressed': 1,
'optimize': 2,
'bundle_files': 1
}
}
setup(console=[entry_point], options=opts, zipfile=None)
Pour compiler votre script Python dans un exécutable Windows, exécutez ce script avec votre programme comme argument:
$ python compile.py myscript.py
Il crachera un exécutable binaire (EXE) avec un interpréteur Python compilé à l'intérieur. Vous pouvez alors simplement distribuer ce fichier exécutable.
PyInstaller a bien fonctionné pour moi, générant des paquets raisonnablement petits en raison de son utilisation d'upx. Sa détection des dépendances était également meilleure que py2exe à l'époque. Il ne semble pas avoir beaucoup de développement récent et ne fonctionne probablement pas avec 3.x, cependant.
La source dans le référentiel est un meilleur point de départ que le package 1.4.
Consultez également la page wiki sur l'utilisation de Python 2.6+.
Dans la liste des fonctionnalités:
Vous voulez quelque chose comme py2exe .
Ici est une liste d'entre eux.