Attualmente ho Python 3.4 come la mia versione predefinita di Python, ma voglio impostare temporaneamente Python 2.7 come predefinito.L'avvio di Python per Windows non sta leggendo `py.ini`
Sono su Windows 7 e i miei script Python vengono eseguiti utilizzando l'avvio di Windows Python. The documentation says Posso personalizzarlo creando un file py.ini
, ma non funziona. Ho creato un file con questi contenuti:
[defaults]
python=2.7
ho cercato di inserirlo nella stessa cartella del file sto correndo, ho provato a metterlo in C:\Users\Administrator\
, in C:\Users\Administrator\AppData\
e in C:\Users\Administrator\AppData\Local\
, ma nessuno di questi lavorato. Il programma di avvio utilizza ancora Python 3.4. (Sia quando si fa doppio clic sul file in Windows UI e sia quando lancio il programma di avvio direttamente, come py my_file.py
.)
Perché il programma di avvio di Windows Python ignorando il mio file py.ini
?
Ecco l'output esecuzione py age.py
con l'ambiente variabile PYLAUNCH_DEBUG
serie:
launcher build: 32bit
launcher executable: Console
Using local configuration file 'C:\Users\Administrator\AppData\Local\py.ini'
File 'C:\Windows\py.ini' non-existent
Called with command line: age.py
maybe_handle_shebang: read 256 bytes
maybe_handle_shebang: BOM not found, using UTF-8
parse_shebang: found command: python
searching PATH for python executable
Python on path: C:\python34\python.EXE
located python on PATH: C:\python34\python.EXE
run_child: about to run 'C:\python34\python.EXE age.py'
Traceback (most recent call last):
File "age.py", line 17, in <module>
name = raw_input("Enter a person's name to check their age: ")
NameError: name 'raw_input' is not defined
child process exit code: 1
provare a utilizzare uno shebang, '#!/bin/env python2.7' nella parte superiore dello script facendo riferimento alla posizione del' Python27'!? – ZdaR
Imposta la variabile di ambiente 'PYLAUNCH_DEBUG' su qualsiasi valore ed esegui lo script usando' py my_file.py' in una finestra del prompt dei comandi. Che risultati ti dà questo? –
@ ZdaR È importante che questo script specifico non abbia uno shebang. –