Sono diversi i motivi per cui un'installazione non riesce. Nella maggior parte dei casi la soluzione migliore consiste nel contattare lo sviluppatore del pacchetto.
In genere si verificano problemi quando si prova a eseguire l'installazione in un percorso che non si è autorizzati a modificare. Ad esempio, il percorso di installazione predefinito potrebbe richiedere privilegi amministrativi, che però Python non include per impostazione predefinita. La soluzione migliore consiste nel creare un ambiente virtuale in cui eseguire l'installazione.
Alcuni pacchetti includono codice nativo che richiede un compilatore C o C++ per eseguire l'installazione. In generale, gli sviluppatori di pacchetti dovrebbero pubblicare versioni precompilate, ma spesso non lo fanno. Alcuni di questi pacchetti potrebbero funzionare se installi Build Tools per Visual Studio e selezioni l'opzione C++, tuttavia nella maggior parte dei casi dovrai contattare lo sviluppatore del pacchetto.
Quando si installa un pacchetto (ad esempio Flask) con pip nel sottosistema Windows per Linux (WSL o WSL2), ad esempio python3 -m pip install flask
, è possibile che si verifichi in modo specifico un errore simile al seguente:
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))
after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection
object at 0x7f655471da30>: Failed to establish a new connection: [Errno -3]
Temporary failure in name resolution')': /simple/flask/
Durante la ricerca di questo problema, è possibile finire in dei gineprai, e nessuno offrirà soluzioni particolarmente produttive con una distribuzione linux WSL. (Avviso: in WSL non provare a modificare resolv.conf
, tale file è un collegamento simbolico e modificarlo può portare grandi problemi). A meno che non si esegua un firewall aftermarket, la soluzione probabile consiste nel reinstallare semplicemente pip:
sudo apt -y purge python3-pip
sudo python3 -m pip uninstall pip
sudo apt -y install python3-pip --fix-missing
*Altre informazioni sul repository di prodotti WSL in GitHub. Grazie alla community degli utenti per aver contribuito a questo problema nella documentazione.
È possibile che nel tuo computer siano installate più versioni di Python perché lavori su diversi tipi di progetti Python. Dal momento che tutte usano il comando python
, potrebbe non essere facile sapere quale sia la versione di Python corrente. Di norma, è consigliabile usare il comando python3
(o python3.7
per selezionare una versione specifica).
Il l'utilità di avvio py.exe selezionerà automaticamente la versione di Python installata più recente. Puoi anche usare comandi come py -3.7
per selezionare una determinata versione o py --list
per visualizzare le versioni disponibili. TUTTAVIA, l'utilità di avvio py.exe funzionerà solo se si usa una versione di Python installata da python.org. Quando installi Python da Microsoft Store, il comando py
non è incluso. Per Linux, macOS, WSL e la versione di Python disponibile in Microsoft Store è necessario usare il comando python3
(o python3.7
).
Per consentire ai nuovi utenti di trovare un'installazione valida di Python, è stato aggiunto un collegamento a Windows che consente di passare direttamente all'ultima versione del pacchetto della community pubblicato in Microsoft Store. Questo pacchetto, che può essere installato facilmente e senza autorizzazioni di amministratore, sostituirà i comandi predefiniti python
e python3
con quelli reali.
Eseguendo il collegamento eseguibile con qualsiasi argomento della riga di comando verrà restituito un codice di errore per indicare che Python non è stato installato. Questo comportamento consente di evitare che file e script batch aprano l'app dello Store quando probabilmente non è previsto.
Se installi Python usando i programmi di installazione disponibili su python.org e selezioni l'opzione per l'aggiunta a PATH, il nuovo comando python
avrà la priorità sul collegamento. Tieni presente che altri programmi di installazione possono aggiungere python
a una priorità inferiore rispetto al collegamento predefinito.
Per disabilitare i collegamenti senza installare Python, apri "Alias di esecuzione app" da Start, trova le voci "Programma di installazione app" relative a Python e impostale su "Disattivato".
Nelle stringhe Python si usano "caratteri di escape" per i caratteri speciali. Ad esempio, per inserire un carattere di nuova riga in una stringa, devi digitare \n
. Dal momento che nei percorsi di file in Windows si usano barre rovesciate, è possibile che alcune parti vengano convertite in caratteri speciali.
Per incollare un percorso come stringa in Python, aggiungi il prefisso r
. Tale prefisso indica che si tratta di una stringa raw
e che non viene usato alcun carattere di escape ad eccezione di \" (potrebbe essere necessario rimuovere l'ultima barra rovesciata nel percorso). Il percorso potrebbe quindi essere simile al seguente: r"C:\Users\MyName\Documents\Document.txt"
Quando usi i percorsi in Python, è consigliabile usare il modulo pathlib standard. In questo modo potrai convertire la stringa in un oggetto Path avanzato che può eseguire in modo coerente le modifiche dei percorsi sia con barre o barre rovesciate, migliorando le prestazioni del codice nei diversi sistemi operativi.
La variabile di ambiente PYTHONPATH viene usata da Python per specificare un elenco di directory da cui possono essere importati i moduli. Se è in esecuzione, puoi esaminare la variabile sys.path
per verificare le directory in cui verrà eseguita la ricerca durante l'importazione di un elemento.
Per impostare questa variabile dal prompt dei comandi, usa set PYTHONPATH=list;of;paths
.
Per impostare questa variabile da PowerShell, usa $env:PYTHONPATH=’list;of;paths’
subito prima dell'avvio di Python.
È consigliabile non impostare questa variabile a livello globale tramite le impostazioni di Variabili di ambiente perché può essere usata da qualsiasi versione di Python invece di quella che intendi usare.
l'estensione VSCode consente di creare rapidamente pacchetti e distribuirli con i modelli Dockerfile e Docker-compose.yml (genera i file Docker appropriati per il tuo progetto).
Il servizio Azure Kubernetes consente di distribuire e gestire applicazioni in contenitori ridimensionando le risorse in base alla richiesta.
Settings Sync consente di sincronizzare le impostazioni di VS Code tra diverse installazioni usando GitHub. Usa questa estensione per garantire la coerenza dell'ambiente in computer diversi.
Grazie all'estensione Keymaps di VS Code non noterai alcuna differenza nell'ambiente.
Alcuni tasti e tasti di scelta rapida di sistema sono leggermente diversi tra un computer Windows e un Macintosh. Per saperne di più, consulta la guida per la transizione da Mac a Windows.