Utilisez pyinsatller pour publier un projet de programme python en tant que fichier exécutable
Python est un langage de script, c'est-à-dire un langage interprété. Il a besoin d'un interpréteur pour l'interpréter avant de pouvoir être exécuté. Le code source Python doit s'exécuter sur la machine virtuelle Python, mais les programmes que nous créons ne peuvent pas être utilisés par les utilisateurs. À ce moment-là, on lui a demandé d'installer un environnement Python, donc aujourd'hui, nous expliquons comment empaqueter un programme Python dans un fichier exécutable exe, vous pouvez utiliser le module pyinsatller. Site officiel http://www.pyinstaller.org/
Présentez d'abord l'installation et l'utilisation du module pyinsatller , puis donnez un exemple de version.
Installez le module pyinsatller
Ouvrez une fenêtre de ligne de commande et entrez la commande suivante
pip installer pyinstaller
Attendez que pyinstaller soit installé, voir la figure ci-dessous:
La commande pyinstaller utilise brièvement le format:
pyinstaller -p路径-F -w [-i icofile] nom de fichier
parmi eux:
-p chemin, indiquant l'emplacement du module (ou de la bibliothèque) dépendant, son emplacement est dans le dossier site-packages du chemin d'installation de Python,
[Afficher le chemin d'installation de Python, voir https://blog.csdn.net/cnds123/article/details/101546889
Pour résoudre le "ModuleNotFindError" qui apparaît lors de l'exécution du programme exe après que pyinstaller est empaqueté, reportez-vous au fichier exécutable exe empaqueté par pyinstaller, le module est introuvable. Solution https://blog.csdn.net/weixin_44297303/article/details / 99059299 ]
-F: Seul un fichier est généré, les autres informations ne sont pas exposées et le démarrage est plus lent. -D: Génère un dossier avec mode multi-fichiers et démarrage rapide.
-w: Package en mode fenêtre sans afficher la console.
filename indique que votre est le nom du programme py principal, qui peut inclure un chemin.
-w signifie masquer la fenêtre de ligne de commande lorsque le programme est en cours d'exécution (il y aura une fenêtre noire sans -w)
Les paramètres entre parenthèses sont des paramètres optionnels. -I icofile signifie ajouter une icône au programme. L'icône doit être au format .ico. Icofile signifie l'emplacement de l'icône. Il est recommandé de la placer directement dans le dossier du programme, donc que le nom du fichier est écrit directement lors de l'empaquetage.
Un exemple d'édition est donné ci-dessous
La structure du projet que je souhaite publier est la suivante:
Le fichier de code source bird.py est le suivant:
import pygame
pygame.init()#初始化操作
#保存窗口大小
width,height=600,400
screen=pygame.display.set_mode([width,height])#创建游戏窗口
#设置窗口标题
pygame.display.set_caption("愤怒的小鸟")
#加载小鸟素材
player=pygame.image.load("xiaoniao.png")
#获取图像矩形位置
rect=player.get_rect()
#声明XY运动速度的列表
speed = [3,2]
left_head = pygame.transform.flip(player,True,False)
right_head = player
#无限循环
while True:
for event in pygame.event.get():
if event.type ==pygame.QUIT:
exit()
if event.type ==pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
player = left_head #小鸟的头向左
speed=[-2,1]
if event.key == pygame.K_RIGHT:
player = right_head #小鸟的头向左
speed=[2,1]
if event.key == pygame.K_UP:
player = left_head #小鸟的头向左
speed=[2,-1]
if event.key == pygame.K_DOWN:
player = right_head #小鸟的头向左
speed=[2,1]
rect =rect.move(speed)
if rect.right>width or rect.left<0:
#将图片水平翻转 反转对象 是否水平反转 是否垂直翻转
player = pygame.transform.flip(player,True,False)
speed[0]=-speed[0]
if rect.bottom>height or rect.top<0:
speed[1]=-speed[1]
screen.fill((255,255,255))
screen.blit(player,rect)
pygame.display.update()
pygame.time.delay(10)
xiaoniao.png image:
Il est recommandé (ce n'est pas nécessaire) d'exécuter d'abord le projet de test avec IDEL pour voir si c'est normal
S'il y a une erreur
demandant ModuleNotFoundError: Aucun module nommé'pygame '
, veuillez installer pygame
pip installer pygame
S'il fonctionne normalement, reportez-vous à la figure ci-dessous:
Vérifiez que le programme est correct, vous pouvez utiliser pyinsatller pour le publier en tant que fichier exécutable:
Dans la fenêtre cmd (ligne de commande), utilisez la commande cd pour entrer dans le dossier du programme
CD / DD: \ Python Angry Birds touche le bord et rebondit
Entrez la commande suivante pour démarrer la conversion
pyinstaller -p C: \ Users \ Wang \ AppData \ Local \ Programs \ Python \ Python38 \ Lib \ site-packages -F -w bird.py
Comme le module pygame (package) est utilisé dans le code source, utilisez -p C: \ Users \ Wang \ AppData \ Local \ Programs \ Python \ Python38 \ Lib \ site-packages pour indiquer l'emplacement du module pygame (package) .
Une fois la saisie terminée, appuyez sur Entrée et le conditionnement automatique démarrera. Le premier processus de conditionnement peut être lent
Veuillez noter que l'archive ajoutée indique l'emplacement du fichier exe généré.
Une fois l'empaquetage réussi, trois dossiers sont générés dans le répertoire actuel et le fichier EXE généré se trouve dans le dossier dist. Voir l'image ci-dessous:
[Indice, le fichier exe converti est très volumineux
Méthode de réduction: utilisez quelle fonction pour importer quelle fonction, n'importez pas la bibliothèque entière, car cela emballera toute la bibliothèque et les fonctions de bibliothèque inutilisées prendront beaucoup de place. 】
Comment courir
Placez le fichier exécutable généré , voici bird.exe et le fichier de ressources qu'il utilise - voici le fichier image xiaoniao.png , dans le même répertoire, puis double-cliquez sur bird.exe pour voir l'effet.
Matériel d'étude supplémentaire:
Documentation d'aide officielle de Pyinstaller https://pyinstaller.readthedocs.io/en/stable/usage.html
Résumé des méthodes de fichier exe d'empaquetage Python [4 types] https://blog.csdn.net/lzy98/article/details/83246281