Domanda

Ho un sistema Debian in esecuzione con Python 2.5.4. Mi sono virtualenv installato correttamente, tutto sta funzionando benissimo. C'è una possibilità che posso utilizzare un virtualenv con una diversa versione di Python?

I compilato Python 2.6.2 e vorrei usarlo con qualche virtualenv. E 'abbastanza per sovrascrivere il file binario? O devo cambiare qualcosa rispetto alle librerie?

È stato utile?

Soluzione

Basta usare l'opzione --python (o corto -p) quando si crea l'istanza virtualenv per specificare il Python eseguibile che si desidera utilizzare, per esempio:.

virtualenv --python=/usr/bin/python2.6 <path/to/new/virtualenv/>

NB. Per Python 3.3 o poi, fare riferimento a rispondere di seguito.

Altri suggerimenti

UPDATE: Per Python3.6, lo script pyvenv seguito è deprecato. Anziché,   virtuale Docs Python suggeriscono creare l'ambiente virtuale con il seguente comando:

python3 -m venv <myenvname>

Per python3 (3.3+), utilizzare il metodo di cui sopra o il comando di script pyvenv

pyvenv /path/to/new/virtual/environment

Si noti che venv non consente la creazione di virtualenv con altre versioni di Python. Per questo, installare e utilizzare il virtualenv .

Si tratta di passi quando si è in ambiente di hosting condiviso e necessario installare & complie Python da sorgente e quindi creare venv dalla versione di Python. Per Python 2.7.9 si dovrebbe fare qualcosa in queste righe:

mkdir ~/src
wget http://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -zxvf Python-2.7.9.tgz
cd Python-2.7.9
mkdir ~/.localpython
./configure --prefix=$HOME/.localpython
make
make install

ENV virtuale

cd ~/src
wget https://pypi.python.org/packages/5c/79/5dae7494b9f5ed061cff9a8ab8d6e1f02db352f3facf907d9eb614fb80e9/virtualenv-15.0.2.tar.gz#md5=0ed59863994daf1292827ffdbba80a63
tar -zxvf virtualenv-15.0.2.tar.gz
cd virtualenv-15.0.2/
~/.localpython/bin/python setup.py install
virtualenv ve -p $HOME/.localpython/bin/python2.7
source ve/bin/activate   

Naturalmente questo può essere applicabile a qualsiasi situazione in cui si desidera replicare l'ambiente esatto si lavora e distribuire su.

virtualenv --python=/usr/bin/python2.6 <path/to/myvirtualenv>

C'è un modo più semplice,

virtualenv venv --python=python2.7

Grazie a un commento, questo funziona solo se si dispone python2.7 installato a livello di sistema (ad esempio /usr/bin/python2.7).

In caso contrario, se si sta utilizzando homebrew è possibile utilizzare il percorso per darti quello che vuoi.

virtualenv venv --python=/usr/local/bin/python

È possibile trovare il percorso dell'installazione di pitone con

which python

Questo funziona anche con Python 3.

which python3
>> /usr/local/bin/python3
virtualenv venv --python=/usr/local/bin/python3

In definitiva condensa a:

virtualenv venv -p `which python`
virtualenv venv -p `which python3`

In Windows per me questo funziona:

virtualenv --python=c:\Python25\python.exe envname

senza il python.exe ho ottenuto WindowsError: [Error 5] Access is denied Ho installato con Python2.7.1 virtualenv 1.6.1, e volevo python 2.5.2.

Mac OSX 10.6.8 (Snow Leopard):

1) Quando si esegue pip install virtualenv, il comando pip è associato ad una delle tue versioni di Python, e virtualenv viene installato in quella versione di Python. Si può fare

 $ which pip   

per vedere quale versione di Python che è. Se vedete qualcosa di simile:

 $ which pip
 /usr/local/bin/pip

poi fare:

$ ls -al /usr/local/bin/pip
lrwxrwxr-x  1 root  admin  65 Apr 10  2015 /usr/local/bin/pip ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip

È possibile visualizzare la versione di Python in uscita.

Per impostazione predefinita, che sarà la versione di Python che viene utilizzato per qualsiasi nuovo ambiente che si crea. Tuttavia, è possibile specificare qualsiasi versione di Python installata sul computer per l'utilizzo all'interno di un nuovo ambiente con la -p flag:

$ virtualenv -p python3.2 my_env  
Running virtualenv with interpreter /usr/local/bin/python3.2  
New python executable in my_env/bin/python  
Installing setuptools, pip...done.  
  

virtualenv my_env creerà una cartella nella directory corrente che   conterrà i file eseguibili Python, e una copia del pip   [Comando], che è possibile utilizzare per installare altri pacchetti.

http://docs.python-guide.org/en/ ultima / dev / virtualenvs /

virtualenv solo copie di pitone da una posizione sul computer in / bin / my_env appena creata.

2) Il pitone sistema è in /usr/bin, mentre le varie versioni di Python che ho installato sono stati, per impostazione predefinita, installato in:

 /usr/local/bin

3) Le varie pitoni ho installato hanno nomi come python2.7 o python3.2, e posso usare quei nomi, piuttosto che percorsi completi.

======== VIRTUALENVWRAPPER =========

1) ho avuto qualche difficoltà a trovare virtualenvwrapper a lavorare. Questo è quello che ho finito per mettere in ~/.bash_profile:

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/django_projects  #Not very important -- mkproject command uses this
#Added the following based on: 
#http://stackoverflow.com/questions/19665327/virtualenvwrapper-installation-snow-leopard-python
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7 
#source /usr/local/bin/virtualenvwrapper.sh
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

2) Il -p option funziona in modo diverso con virtualenvwrapper: devo specificare il percorso completo per l'interprete python da utilizzare nel nuovo ambiente (quando non voglio usare la versione di default python):

$ mkvirtualenv -p /usr/local/bin/python3.2 my_env
Running virtualenv with interpreter /usr/local/bin/python3
New python executable in my_env/bin/python
Installing setuptools, pip...done.
Usage: source deactivate

removes the 'bin' directory of the environment activated with 'source
activate' from PATH. 

A differenza virtualenv, virtualenvwrapper creerà l'ambiente nella posizione specificata dalla variabile di ambiente $ WORKON_HOME. Che mantiene tutti gli ambienti in un unico luogo.

Si supponga che attualmente hanno python 2.7 installato nel vostro virtualenv. Ma vuole fare uso di python3.2, Si dovrà aggiornare questo con:

$ virtualenv --python=/usr/bin/python3.2 name_of_your_virtualenv

Poi attivare il virtualenv da:

$ source activate name_of_your_virtualenv

e poi fare: python --version in guscio per verificare se la versione è ora aggiornato

.

Questi due comandi devono funzionare bene.

virtualenv -p python2 myenv (Per python2)

virtualenv -p python3 myenv (Per python3)

È possibile chiamare virtualenv con la versione di Python che si desidera. Ad esempio:

python3 -m virtualenv venv

In alternativa puntare direttamente al percorso virtualenv. per esempio. per le finestre:

c:\Python34\Scripts\virtualenv.exe venv

E eseguendo:

venv/bin/python

Python 3.5.1 (v3.5.1:37a07cee5969, Dec  5 2015, 21:12:44) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

è possibile vedere la versione di Python installata in ambiente virtuale

L'approccio -p funziona bene, ma bisogna ricordarsi di usarlo ogni volta. Se il vostro obiettivo è quello di passare ad una nuova versione di Python in generale, questo è un dolore e può anche portare a errori.

L'altra opzione è quella di impostare una variabile d'ambiente che fa la stessa cosa come -p. Impostare questo tramite il file ~/.bashrc o dovunque si riesce variabili di ambiente per le sessioni di accesso:

export VIRTUALENV_PYTHON=/path/to/desired/version

Quindi virtualenv userà che ogni volta che non si specifica -p sulla riga di comando.

Per Mac (High Sierra), installare il virtualenv su python3 e creare un virtualenv per python2:

 $ python3 -m pip install virtualenv
 $ python3 -m virtualenv --python=python2 vp27
 $ source vp27/bin/activate
 (vp27)$ python --version
 Python 2.7.14

Ancora più facile, usando sostituzione di comando per trovare python2 per voi:

virtualenv -p $(which python2) <path/to/new/virtualenv/>

o quando si utilizza virtualenvwrapper:

mkvirtualenv -p $(which python2) <env_name>

Su Mac uso pyenv e virtualenvwrapper. Ho dovuto creare un nuovo virtualenv. È necessario homebrew che darò per scontato che hai installato, se siete su un Mac, ma solo per divertimento:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


brew install pyenv
pyenv install 2.7.10
pyenv global 2.7.10
export PATH=/Users/{USERNAME}/.pyenv/versions/2.7.10/bin:$PATH
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python  {virtual_env_name}

Ho anche congelato le mie esigenze prima così ho potuto semplicemente reinstallare nella nuova virtualenv con:

pip install -r requirements.txt

In sottosistema di Windows per Linux:

  1. Crea ambiente per python3:

    virtualenv --python=/usr/bin/python3 env
    
  2. Attiva esso:

    source env/bin/activate
    

, le risposte di cui sopra sono corrette e funziona bene su sistemi Unix basati su come Linux e MAC OS X .

Ho cercato di creare virtualenv python2 e python3 con i seguenti comandi.

Qui ho usato venv2 e venv3 come i loro nomi per python2 e python3 , rispettivamente.

  

python2 »

MacBook-Pro-2:~ admin$ virtualenv venv2 --python=`which python2`
Running virtualenv with interpreter /usr/local/bin/python2
New python executable in /Users/admin/venv2/bin/python
Installing setuptools, pip, wheel...done.
MacBook-Pro-2:~ admin$ 
MacBook-Pro-2:~ admin$ ls venv2/bin/
activate        easy_install        pip2.7          python2.7
activate.csh        easy_install-2.7    python          wheel
activate.fish       pip         python-config
activate_this.py    pip2            python2
MacBook-Pro-2:~ admin$ 
  

python3 »

MacBook-Pro-2:~ admin$ virtualenv venv3 --python=`which python3`
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.6'
New python executable in /Users/admin/venv3/bin/python3
Also creating executable in /Users/admin/venv3/bin/python
Installing setuptools, pip, wheel...done.
MacBook-Pro-2:~ admin$ 
MacBook-Pro-2:~ admin$ ls venv3/bin/
activate        easy_install        pip3.6          python3.6
activate.csh        easy_install-3.6    python          wheel
activate.fish       pip         python-config
activate_this.py    pip3            python3
MacBook-Pro-2:~ admin$ 
  

Controllo luoghi di installazione Python

MacBook-Pro-2:~ admin$ which python2
/usr/local/bin/python2
MacBook-Pro-2:~ admin$ 
MacBook-Pro-2:~ admin$ which python3
/usr/local/bin/python3
MacBook-Pro-2:~ admin$ 

Ha funzionato per me

sudo apt-get install python3-minimal

virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3

Su Windows:

py -3.4x32 -m venv venv34

o

py -2.6.2 -m venv venv26

Questo utilizza il py lanciatore che troverà il pitone destra eseguibile per voi (ammesso che abbiate installato).

virtualenv -p python3 myenv

Link Creazione virtualenv

Per Debian (Debian 9) Sistemi nel 2019, ho scoperto una soluzione semplice che può risolvere il problema all'interno dell'ambiente virtuale.

Si supponga che l'ambiente virtuale sono stati creati tramite:

python3.7 -m venv myenv

ma ha solo le versioni di python2 e python2.7, ed è necessario le caratteristiche recenti di python3.7.

Quindi, è sufficiente eseguire il comando:

(myvenv) $ python3.7 -m venv --upgrade /home/username/path/to/myvenv/

aggiungerà pacchetti python3.7 se sono già disponibili sul sistema.

Questo è stato un bug con virtualenv. Basta aggiornare il proprio pip dovrebbe essere la correzione.

pip install --upgrade virtualenv

Ha funzionato per me su Windows con Python 2 installazione:

  1. Passaggio 1: Installare Python 3 versione.
  2. Passaggio 2: Creare una cartella per env     l'ambiente virtuale.
  3. Step 3: c: \ Python37 \ python -m venv     c:. \ path \ to \ env

Questo è il modo ho creato Python 3 ambiente virtuale sulla mia installazione di Python 2 esistente.

pyenv per gestire la mia versione di Python.

pyenv install 3.7.3
pyenv local 3.7.3

Controlla la tua versione di Python:

$ python --version
Python 3.7.3

Creare l'ambiente virtuale con venv :

python -m venv .

Poi attivare l'ambiente virtuale:

source bin/activate

Controlla la tua versione di Python:

$ python --version
Python 3.7.3

potrebbe essere necessario rimuovere l'ambiente virtuale precedente

rm -rf bin

Si può fare in questo modo:

virtualenv -p python3 .

Sì, è sufficiente installare l'altra versione di pitone, e definire la posizione della vostra altra versione di Python nel vostro comando come:

  
    
      

virtualenv / home / payroll / Documents / ENV -p / usr / bin / python3

    
  

Ecco il passo per passo come creare l'ambiente virtuale nella cartella Studio Codice a vista: Ho usato Powershell (modalità amministratore):
 1. creare una cartella VSCode -. "D: \ Code_Python_VE" dove voglio creare un ambiente virtuale
 2. Poi ho digitare il comando - "PIP3 installare virtualenv". (D: \ Code_Python_VE> PIP3 installare virtualenv)  3. D: \ Code_Python_VE> python3 -m venv project_env
 4. D: \ Code_Python_VE> project_env \ Scripts \ activate.bat
 5. D: \ Code_Python_VE> ls - Questo elenco di una nuova directory "project_env"
.  6. D: \ Code_Python_VE> codice. Verrà avviata codice Visual Studio. Assicurarsi che il comando è (codice.).
 7. Creare launch.jason con seguente contenuto:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "python",
            "request": "launch",
            "name": "Python: Current File (Integrated Terminal 1)",
            "program": "${file}"
        },
        {
            "name": "Python: Current File (Integrated Terminal 2)",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        },
    ]
}

(Si prega di ricerca come andare a finestra Debug e Aggiungi nuova configurazione nel Codice VS).

  1. Premere F1 nel codice Visual Studio e il comando di pallet si aprirà - Selezionare interprete Python e selezionare l'ambiente project_env virtuale.
  2. Aggiungi test.py file con una stampa affermazione ( "Ciao Mondo").
  3. Esegui questo programma.
  4. In Visual Studio terminale Codice -
    (Project_env) d: \ Code_Python_VE> python -m pip installare --upgrade
    Spero che questo aiuta.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top