Davide Targa website

Programming, web development and open source

Installazione E Utilizzo Di Virtualenv Con Pythonbrew

Qualche tempo fa ho parlato dell’installazione di pythonbrew per il setup e la gestione di più versioni di python sulla stessa macchina. Pythonbrew gesisce anche la creazione di ambienti di lavoro virtuali (venv) tramite virtualenv. Se si desidera utilizzare direttamente il tool virtualenv è necessario installarlo.

Si procede quindi passando alla versione di python sulla quale di desidera installare virtualenv:

1
2
$ pythonbrew use 2.4.5
Using `Python-2.4.5`

Dopodichè, per mezzo di easy_install, si procede all’installazione di virtualenv:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ easy_install virtualenv
Searching for virtualenv
Reading http://pypi.python.org/simple/virtualenv/
Reading http://virtualenv.openplans.org
Reading http://www.virtualenv.org
Best match: virtualenv 1.6.4
Downloading http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.6.4.tar.gz#md5=1072b66d53c24e019a8f1304ac9d9fc5
Processing virtualenv-1.6.4.tar.gz
Running virtualenv-1.6.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-1orGbM/virtualenv-1.6.4/egg-dist-tmp-ovjN2L
warning: no previously-included files matching '*.*' found under directory 'docs/_templates'
Adding virtualenv 1.6.4 to easy-install.pth file
Installing virtualenv script to /home/davide/.pythonbrew/pythons/Python-2.4.5/bin

Installed /home/davide/.pythonbrew/pythons/Python-2.4.5/lib/python2.4/site-packages/virtualenv-1.6.4-py2.4.egg
Processing dependencies for virtualenv
Finished processing dependencies for virtualenv

Possiamo creare ora il virtualenv “devel” con il comando:

1
2
3
4
$ virtualenv devel
New python executable in devel/bin/python
Installing setuptools.............done.
Installing pip...............done.

Virtualenv crea un ambiente virtuale con la versione di python specificata. All’interno dell’ambiente virtuale sono già disponibili le utility pip e easy_install. Di seguito è riportata la struttura del virtualenv creato precedentemente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$ tree -d devel
devel
├── bin
├── include
│   └── python2.4 -> /home/davide/.pythonbrew/pythons/Python-2.4.5/include/python2.4
└── lib
    └── python2.4
        ├── config -> /home/davide/.pythonbrew/pythons/Python-2.4.5/lib/python2.4/config
        ├── distutils
        ├── encodings -> /home/davide/.pythonbrew/pythons/Python-2.4.5/lib/python2.4/encodings
        ├── lib-dynload -> /home/davide/.pythonbrew/pythons/Python-2.4.5/lib/python2.4/lib-dynload
        └── site-packages
            ├── pip-1.0.2-py2.4.egg
            │   ├── EGG-INFO
            │   └── pip
            │       ├── commands
            │       └── vcs
            └── setuptools-0.6c11-py2.4.egg
                ├── EGG-INFO
                └── setuptools
                    ├── command
                    └── tests

20 directories

Spostiamoci ora all’interno della cartella devel:

1
$ cd devel

Per iniziare a lavorare sul virtualenv appena creato, utilizzare il comando:

1
2
$ source bin/activate
(devel)davide@orion:~/sites/devel

Come possiamo vedere, il prompt dei comandi contiene ora il prefisso devel, che indica il nome del virtualenv correntemente attivo. Per uscire dal virtualenv corrente, si utilizza il comando:

1
$ deactivate

A questo punto siamo usciti dal virtualenv devel e il prompt dei comandi ritorna ad essere quello di sempre.

Comments