Je suis en train de développer une application python et j'ai une question concernant le codage pour qu'elle fonctionne toujours après l'installation d'un utilisateur sur sa machine via setup.py install ou similaire.accéder aux fichiers après l'installation de setup.py
Dans un de mes fichiers, j'utilise les éléments suivants:
file = "TestParser/View/MainWindow.ui" cwd = os.getcwd() argv_path = os.path.dirname(sys.argv[0]) file_path = os.path.join(cwd, argv_path, file)
afin d'obtenir le chemin de MainWindow.ui
, quand je ne connais le chemin par rapport à l'emplacement du script principal. Cela fonctionne indépendamment de l'endroit où j'appelle le script principal.
Le problème est qu'après l'installation d'une application sur son ordinateur, le chemin relatif est différent, donc cela ne fonctionne pas. Je pourrais utiliser __file__
, mais selon this, py2exe n'a pas .
Existe-t-il un moyen standard d'y parvenir? Ou une meilleure façon?
EDIT:
Dois-je craindre même à py2exe et il suffit d'utiliser __file__
? Je n'ai pas de plans immédiats pour utiliser py2exe, mais j'espérais apprendre le bon façon d'accéder aux fichiers dans ce contexte.
Peut-être qu'il me manque quelque chose mais pourquoi votre installateur ne copie-t-il pas TestParser/* au même endroit que tout le reste? Les chemins relatifs doivent fonctionner quel que soit le lieu de vie de l'application tant que tous les chemins sont "relatifs" =) –
@Dan McDougall Je suis toujours en train d'en apprendre plus sur le setup.py et les amis de python. dans le répertoire bin, alors que les modules sont stockés sous lib. C'est donc les scripts de ligne de commande qui sont stockés séparément de tout le reste. Je suppose qu'il existe une manière standard de mettre en place une distribution de projet dont je ne suis pas conscient. – Matthew
duplicata possible? http://stackoverflow.com/questions/1219367/accessing-data-files-before-and-after-distutils-setuptools – Matthew