


Regrouper des fichiers de données avec PyInstaller (--onefile)
Regrouper des fichiers de données dans un seul fichier exécutable (--onefile) peut être un solution pratique pour le déploiement d’applications. Cependant, rencontrer des problèmes lors de l’utilisation de cette option peut être frustrant. Dans ce guide, nous aborderons un problème courant où les fichiers externes tels que les images et les icônes ne se chargent pas correctement bien qu'ils soient inclus dans le fichier .spec.
Aperçu du problème
L'interrogateur n'a pas pu regrouper une image et une icône dans son exécutable PyInstaller à l'aide de l'option --onefile. Alors que l'application fonctionnait correctement avec --onedir, l'utilisation de --onefile entraînait la non-localisation des fichiers externes. Ce problème persistait même si les fichiers étaient présents dans le répertoire temporaire créé lors de l'exécution de l'exécutable.
Solution
Dans les anciennes versions de PyInstaller, une variable d'environnement était définie sur pointez vers l’emplacement des fichiers regroupés. Toutefois, dans les versions plus récentes, ce comportement a changé. Au lieu de cela, le chemin est désormais défini comme sys._MEIPASS.
Pour résoudre ce problème, mettez à jour votre code pour utiliser sys._MEIPASS pour accéder aux fichiers regroupés :
import sys def resource_path(relative_path): """ Get absolute path to resource, works for dev and for PyInstaller """ try: # PyInstaller creates a temp folder and stores path in _MEIPASS base_path = sys._MEIPASS except Exception: base_path = os.path.abspath(".") return os.path.join(base_path, relative_path)
En utilisant cette mise à jour approche, vous pouvez accéder de manière fiable aux fichiers regroupés dans votre exécutable PyInstaller, même lorsque vous utilisez l'option --onefile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Python est une langue interprétée, mais elle comprend également le processus de compilation. 1) Le code Python est d'abord compilé en bytecode. 2) ByteCode est interprété et exécuté par Python Virtual Machine. 3) Ce mécanisme hybride rend Python à la fois flexible et efficace, mais pas aussi rapide qu'une langue entièrement compilée.

Usaforloopwheniterating aepasquenceorfor pourpascific inumberoftimes; useawhileloopwencontinTutuntutilaconditioniseMet.ForloopsareIdealForkNown séquences, tandis que celle-ci, ce qui est en train de réaliser des étages.

PythonloopscanleadtoerrorlikeInfiniteLoops, modificationlistDuringiteration, off-by-by-oneerrors, zéro-indexingisss et intestloopinefficisecy.toavoid this: 1) use'i

ForloopsAreAdvantageSousForkNowiterations et séquences, offrant laimplicité et la réadaptation;

Pythonusahybridmodelofcompilation et interprétation: 1) thepythoninterpreterCompileSourCodeIntOplatform-indépendantBytecode.2) thepythonvirtualmachine (pvm) there examenesthisbytecode, équilibrage de l'usage de la performance.

Pythonisbothinterpretedand compiled.1) il est composédToByteCodeForportabilityAcrosplatforms.2) theytecodeisthenter interprété, permettant à OrdayNamictypingAndRapidDevelopment, bien que MaybeSlowerSlowerSwower, aisance.

Forloopsareideal quand vous savez que l'immatriculation des adressages a une avance, tandis que ce qui est de savoir si

Forloopsaseesesed whenthenUmberoFitations dissownininadvance, tandis que celle-ci a été utilisé sur les éléments de la dispense


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

Version Mac de WebStorm
Outils de développement JavaScript utiles

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP
