Fondamentalement, je veux obtenir un handle de l'interpréteur python afin que je puisse passer un fichier de script à exécuter (à partir d'une application externe).Comment obtenir l'emplacement python.exe par programme?
Répondre
Cela fonctionne sous Linux, peut-être aussi sous Windows?
>>> import sys
>>> print sys.executable
/usr/bin/python
Oui - >>> import sys | >>> print sys.executable | C: \ Python25 \ pythonw.exe – Smashery
Fonctionne également sous Mac OS X. – FogleBird
Je pense que dans une application compilée py2exe, il pointe vers l'exécutable pour l'application, et non pas le python.exe. Quelqu'un devrait confirmer cependant. – FogleBird
Je pense que cela dépend de la façon dont vous avez installé Python. Notez que vous pouvez avoir plusieurs installations de python, je le fais sur ma machine. Toutefois, si vous installez via une msi d'une version de Python 2.2 ou au-dessus, je crois qu'il crée une clé de Registre comme ceci:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths \ Python.exe
qui donne cette valeur sur ma machine:
C: \ Python25 \ Python.exe
Vous venez de lire la clé de registre pour obtenir l'emplacement. Cependant, vous pouvez installer python via un modèle de type xcopy que vous pouvez avoir dans un endroit arbitraire, et il vous suffit de savoir où il est installé.
Si c'est dans App Paths, vous n'avez même pas besoin de connaître l'emplacement, n'est-ce pas? ;) – Gleb
La recherche dans le registre n'est pas vraiment utile, car vous ne savez pas si vous utilisez le python dont parle le registre. – GreenAsJade
sys.executable n'est pas fiable si vous travaillez dans un environnement python intégré. Mes suggestions est de déduire de
import os
os.__file__
- 1. Comment obtenir Vista Edition par programme?
- 2. Comment obtenir par programme des dépendances DLL
- 3. Comment obtenir les Etats-Unis par programme?
- 4. Obtenir le certificat ssl émis par programme
- 5. Comment obtenir le répertoire temporaire ASP.NET par programme?
- 6. Comment obtenir AppID sur iPhone en utilisant SDK/par programme?
- 7. Comment obtenir l'historique complet des dossiers de TFS par programme?
- 8. Comment obtenir l'option de codage SAS par programme?
- 9. Comment obtenir la capture d'écran d'une application minimisée par programme?
- 10. comment puis-je obtenir par programme le nom d'une application?
- 11. Comment puis-je obtenir par programme l'image sur cette page?
- 12. Obtenir par programme des statistiques réseau par processus sur Windows?
- 13. Umbraco - Obtenir le noeud par ID par programme
- 14. Comment exécuter NUnit par programme
- 15. Obtenir par programme les résultats de recherche Google
- 16. Obtenir des informations sur les perspectives par programme
- 17. Comment utiliser Netbeans Profiler par programme?
- 18. Obtenir le contenu de la page Web par programme
- 19. Accès aux styles par programme pour obtenir des valeurs
- 20. Méthode simple pour obtenir par programme toutes les procédures stockées
- 21. linux: obtenir par programme le pid parent d'un autre processus?
- 22. Comment masquer les fenêtres d'un programme externe par programme?
- 23. Comment activer le programme Wake on LAN par programme
- 24. Recherche google par programme
- 25. Démarrer par programme UserControlTestContainer.exe
- 26. Tri JTable par programme
- 27. Appelez par programme @Controller
- 28. FLEX: Comment supprimer par programme Alert?
- 29. Comment supprimer un raccourci annoncé par programme?
- 30. Comment se connecter à wordpress par programme?
@Bhargav Rao: comment cette question, qui a été demandé 1 année _avant_ la question qu'il est censé être un double de, être un duplicata de celui-ci? C'est l'inverse. – mhawke
@mhawke L'autre avait plus de vues que cela et était mieux formulé. D'où je l'ai dupé dans le sens inverse. TBH, Les deux disent la même chose, Donc nous pouvons même signaler la fusion. –
@BhargavRao: oui, c'est mieux écrit et le titre est probablement responsable de ça. Aussi la réponse acceptée est meilleure et (maintenant) inclut un lien vers la documentation, donc globalement je pense que vous avez raison. – mhawke