PDA

Visualizza la versione completa : [PYTHON] PYTHONPATH non viene considerata dall'interprete


VegetaSSJ5
03-08-2017, 17:17
Salve a tutti. Vorrei installare un ambiente minimale per l'esecuzione di script python su Windows. Ho scaricato dal sito python.org lo zip python-3.6.2-embed-amd64 e l'ho estratto in una cartella. Visualizzazione di sys path a sistema "vergine"

C:\Development\python-3.6.2-embed-amd64>python
Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32
>>> import sys
>>> print(sys.path)
['C:\\Development\\python-3.6.2-embed-amd64\\python36.zip', 'C:\\Development\\python-3.6.2-embed-amd64']
>>> sys.exit()
Setto quindi la variabile PYTHONPATH.

C:\Development\python-3.6.2-embed-amd64>SET PYTHONPATH=C:\Development\test

C:\Development\python-3.6.2-embed-amd64>echo %PYTHONPATH%
C:\Development\test
Ok, adesso questo path dovrebbe essere aggiunto nella lista vista in precedenza.

C:\Development\python-3.6.2-embed-amd64>python
Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32
>>> import sys
>>> print(sys.path)
['C:\\Development\\python-3.6.2-embed-amd64\\python36.zip', 'C:\\Development\\python-3.6.2-embed-amd64']
Come mai la cartella C:\Development\test non viene aggiunta? Questa cosa mi crea ovviamente problemi di esecuzione di alcuni script.

clasku
03-08-2017, 18:48
non che sia sicurissimo, ma dato che sei su windows non dovresti mettere il path in autoexec tramite msconfig per renderlo permanente?
mi sa che anche sbagliata la sintassi del set, mi pare che sia cos


set PYTHONPATH=%PYTHONPATH%;C:\Development\test

VegetaSSJ5
04-08-2017, 10:07
Ciao clasku,
la variabile PYTHONPATH non settata come variabile di sistema, quindi facendo un echo quando non ancora settata, non restituisce nulla. Questo perch non ho usato l'installer per installare l'ambiente di sviluppo python, ma ho semplicemente estratto lo zip (https://www.python.org/ftp/python/3.6.2/python-3.6.2-embed-amd64.zip).
Tuttavia setto la variabile nella stessa finestra shell prima di eseguire l'interprete, che per non considera il valore di questa variabile.... :bh:

Loading