1
votes

Comment corriger l'erreur "Impossible de trouver un Python par défaut"

J'utilise python dans un serveur Windows (64 bits) et il est installé par un autre utilisateur dans son propre répertoire dans C: \ user \ userx \ AppData \ Local \ Programs \ Python \ Python36

Tous les autres utilisateurs (à l'exception de moi) peuvent exécuter des fichiers Python sur ce serveur. J'obtiens l'erreur suivante lorsque j'exécute un programme Python:

C:\Users\user x\AppData\Local\Programs\Python\Python36>test.py
launcher build: 32bit
launcher executable: Console
File 'C:\Users\my user\AppData\Local\py.ini' non-existent
File 'C:\Windows\py.ini' non-existent
Called with command line: "C:\Users\user x\AppData\Local\Programs\Python\Python
36\test.py"
maybe_handle_shebang: read 12 bytes
maybe_handle_shebang: BOM not found, using UTF-8
locating Pythons in 64bit registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: unable to open PythonCore key in HKLM
locating Pythons in native registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: unable to open PythonCore key in HKLM
found no configured value for 'python'
search for default Python found no interpreter
Can't find a default Python.

J'ai essayé d'exécuter mon code dans la ligne de commande avec set pylaunch_debug = 1 et il a montré des erreurs ci-dessous.


5 commentaires

Vous devez définir la variable Path


modifiez votre variable d'environnement système et ajoutez-y "C: \ user \ userx \ AppData \ Local \ Programs \ Python \ Python36"


J'ai déjà défini une variable de chemin.


Essayez d'exécuter l'interpréteur python dans cmd


dans cmd python test.py fonctionne, mais pas test.py. mais je veux le résoudre pour pouvoir utiliser IDE.


4 Réponses :


3
votes

J'ai trouvé la solution:

la définition de la variable globale dans cmd comme ci-dessous a résolu le problème

C:> ftype Python = "C: \ Users \ user x \ AppData \ Local \ Programs \ Python \ Python36 \ python.exe% 1% *"


1 commentaires

Type de fichier 'Python' introuvable ou aucune commande ouverte qui lui est associée.



2
votes

Associez le bon groupe de fichiers aux scripts .py:

ftype Python.File="C:\Path\to\pythonw.exe %1 %*"

Redirigez tous les fichiers Python vers le nouvel exécutable:

assoc .py=Python.File


2 commentaires

Juste une petite correction à ceci: j'ai trouvé que je devais mettre les guillemets uniquement autour du chemin, PAS autour des arguments! Donc quelque chose comme ftype Python.File = "C: \ Path \ to \ pythonw.exe"% 1% *


Sous Windows, vous devrez peut-être exécuter l'invite de commande en tant qu'administrateur pour définir l'assoc.



1
votes

"Impossible de trouver un Python par défaut" ne provient pas de Windows lui-même, mais du lanceur de python.

La réinitialisation de ftype (comme dans certaines autres réponses) directement sur une installation python spécifique devrait masque l'erreur, mais contourne le lanceur Python. L'alternative est de résoudre le problème réel. Peut-être plus complexe que de simplement le faire disparaître, mais le masquer signifie qu'une fonctionnalité clé, le lanceur python, a ensuite été désactivée.

Si vous rencontrez cette erreur, vérifiez ftype en saisissant

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.7\InstallPath

sans définir de nouvelle valeur.

La valeur normale doit être Python.File = "C: \ windows \ py.exe" "% L"% *

Py.exe est le Lanceur Python . Ce lanceur inspecte les fichiers python et les " shebang " en haut du fichier spécifiant quelle version de python sera utilisée.

Py.exe est le programme qui signale «impossible de trouver un python par défaut». La réinitialisation du ftype pour charger directement python contournera l'erreur, mais désactivera l'étape intermédiaire de py.exe qui devrait sélectionner la bonne version de python pour le fichier. Si vous désactivez correctement py.exe, c'est correct, mais si vous souhaitez corriger py.exe, essayez de définir la variable d'environnement PYLAUNCH_DEBUG comme ceci (comme l'a fait l'affiche d'origine): p>

set PYLAUNCH_DEBUG=1

Puis réessayez (ou entrez simplement py comme commande) pour plus d'informations sur exactement ce qui échoue.

Pour moi l'entrée de registre pour

 ftype Python.File

était manquante et l'ajout de cette clé a résolu le problème. Vous pouvez modifier les clés de registre et définir celle ci-dessus pour la version python appropriée avec le chemin requis, ou ajouter un fichier py.ini. Les instructions pour py.ini sont un peu longues pour ici, mais j'ajouterai un lien si quelqu'un le souhaite.

Il y a deux problèmes avec le contournement du lanceur python. Premièrement, le problème pourrait revenir si une nouvelle version est ajoutée, et deuxièmement, la capacité des programmes à spécifier la bonne version de python est désactivée.


0 commentaires

0
votes

cela fonctionne pour moi en éditant PATH dans les variables système:

ajout du chemin python: ".................. \ Python36"

et écrivez sur cmd lors de l'exécution du code, le mot "python" avant le chemin du fichier du code comme:

python code_file_name.py


0 commentaires