Maison > développement back-end > Tutoriel Python > Comment puis-je accéder aux fichiers externes dans un exécutable PyInstaller --onefile ?

Comment puis-je accéder aux fichiers externes dans un exécutable PyInstaller --onefile ?

Patricia Arquette
Libérer: 2024-12-21 15:52:10
original
967 Les gens l'ont consulté

How Can I Access External Files in a PyInstaller --onefile Executable?

Regroupement de fichiers externes avec PyInstaller via --onefile

Lors de la tentative de création d'un exécutable à fichier unique (.exe) à l'aide de PyInstaller -- onefile, les utilisateurs peuvent rencontrer des difficultés à intégrer des fichiers externes, tels que des images ou des icônes. Bien que cette option produise une application pratique et portable, elle ne parvient souvent pas à localiser les fichiers supplémentaires qui contribuent aux fonctionnalités de l'application.

Pour résoudre ce problème, les versions précédentes de PyInstaller s'appuyaient sur la définition d'une variable d'environnement pour spécifier l'emplacement de fichiers supplémentaires. Cependant, les récentes mises à jour de PyInstaller ont modifié cette approche. La méthode actuelle pour accéder aux fichiers externes en mode --onefile consiste à utiliser la variable sys._MEIPASS.

Le code suivant montre comment accéder aux fichiers externes en utilisant l'approche mise à jour :

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)
Copier après la connexion

Par en appelant cette fonction avec le chemin relatif vers le fichier externe, vous pouvez obtenir son chemin absolu, que vous exécutiez l'application à partir d'un environnement de développement ou d'un fichier généré par PyInstaller. exécutable.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal