GNU/Linux >> Linux Esercitazione >  >> Linux

Domande su Python virtualenv

su Windows ho installato python 3.7 e ancora non riesco ad attivare virtualenv da Gitbash con ./Scripts/activate anche se ha funzionato da Powershell dopo aver eseguito Set-ExecutionPolicy Unrestricted in Powershell e modificando l'impostazione in "Sì a tutti".

Non mi piace Powershell e mi piace usare Gitbash, quindi per attivare virtualenv in Gitbash prima vai alla cartella del tuo progetto, usa ls per elencare il contenuto della cartella e assicurati di vedere "Script". Cambia la directory in "Scripts" usando cd Scripts , una volta che sei nel percorso "Scripts" usa . activate per attivare virtualenv . Non dimenticare lo spazio dopo il punto.


Sì, fondamentalmente questo è ciò che fa virtualenv, e questo è ciò che activate command è per, dal documento qui:

attivare lo script

In un virtualenv appena creato ci sarà uno script shell bin/activate o un file batch Scripts/activate.bat su Windows.

Questo cambierà il tuo $PATH in modo che punti al bin/directory di virtualenv. A differenza di workingenv, questo è tutto ciò che fa; è una comodità. Ma se usi il percorso completo come/path/to/env/bin/python script.py non hai bisogno di attivare prima l'ambiente. Devi usare la fonte perché cambia l'ambiente sul posto. Dopo aver attivato un ambiente puoi utilizzare la funzione di disattivazione per annullare le modifiche.

Lo script di attivazione modificherà anche il prompt della shell per indicare quale ambiente è attualmente attivo.

quindi dovresti semplicemente usare activate comando che farà tutto questo per te:

> \path\to\env\bin\activate.bat

Normalmente virtualenv crea ambienti nella directory corrente. A meno che tu non intenda creare ambienti virtuali in C:\Windows\system32 per qualche ragione, userei una directory diversa per gli ambienti.

Non dovresti aver bisogno di pasticciare con i percorsi:usa il activate script (in <env>\Scripts ) per garantire che l'eseguibile e il percorso Python siano specifici dell'ambiente. Dopo aver eseguito questa operazione, il prompt dei comandi cambia per indicare l'ambiente. Puoi quindi semplicemente invocare easy_install e tutto ciò che installi in questo modo verrà installato in questo ambiente. Usa deactivate per riportare tutto a com'era prima dell'attivazione.

Esempio:

c:\Temp>virtualenv myenv
New python executable in myenv\Scripts\python.exe
Installing setuptools..................done.
c:\Temp>myenv\Scripts\activate
(myenv) C:\Temp>deactivate
C:\Temp>

Nota come non avevo bisogno di specificare un percorso per deactivate - activate lo fa per te, in modo che quando attivato "Python" eseguirà Python nel virtualenv, non il tuo sistema Python. (Provalo:fai un import sys; sys.prefix e dovrebbe stampare la radice del tuo ambiente.)

Puoi semplicemente attivare un nuovo ambiente per passare da un ambiente/progetto all'altro, ma dovrai specificare l'intero percorso per activate quindi sa quale ambiente attivare. Non dovresti mai aver bisogno di pasticciare con PATH o PYTHONPATH in modo esplicito.

Se usi Windows Powershell, puoi sfruttare un wrapper. Su Linux, il virtualenvwrapper (il collegamento punta a un porting di questo su Powershell) rende la vita con virtualenv ancora più facile.

Aggiornamento: Non scorretto, esattamente, ma forse non proprio nello spirito di virtualenv . Potresti prendere una strada diversa:ad esempio, se installi Django e qualsiasi altra cosa di cui hai bisogno per il tuo sito nel tuo virtualenv, allora potresti lavorare nella directory del tuo progetto (dove stai sviluppando il tuo sito) con il virtualenv attivato. Poiché è stato attivato, il tuo Python troverebbe Django e qualsiasi altra cosa tu abbia easy_installed nell'ambiente virtuale:e poiché stai lavorando nella directory del tuo progetto, i tuoi file di progetto sarebbero visibili anche a Python.

Ulteriore aggiornamento: Dovresti essere in grado di usare pip , distribute invece di setuptools , e semplicemente python setup.py install con virtualenv . Assicurati solo di aver attivato un ambiente prima di installare qualcosa al suo interno.


Linux
  1. Python 3.3.2 Installazione?

  2. Procedura:programmazione socket in Python

  3. Installa python-novaclient su Windows

  4. Configura Python su IIS 7.5

  5. Installa tkinter per Python

Come installare Python 3 su Windows 10

Installa Python 3 su Redhat 8

Come controllare la versione di Python

Python if..else Istruzione

quale pitone vs PYTHONPATH

Aggiorna Python da 2.6 a 2.7 su Centos 6.5