User Tools

Site Tools


doc:appunti:prog:python27_on_debian6

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
doc:appunti:prog:python27_on_debian6 [2019/05/22 17:22] – [Installazione con pip] niccolodoc:appunti:prog:python27_on_debian6 [2019/05/29 12:49] – [Problema con pip e ssl] niccolo
Line 10: Line 10:
  
 <code> <code>
-apt-get install git gcc build-essential \+apt-get install curl git gcc build-essential \
  libmysqlclient-dev libadns1-dev \  libmysqlclient-dev libadns1-dev \
  libreadline-dev libgdbm-dev zlib1g-dev libsqlite3-dev \  libreadline-dev libgdbm-dev zlib1g-dev libsqlite3-dev \
Line 16: Line 16:
 </code> </code>
  
-Questa è l'installazione di pyenv effettuata nella directory utente **$HOME/.pyenv/** :!: che è sconsigliata se deve essere usata a livello di sistema:+==== Installazione in $HOME utente ==== 
 + 
 +:!: **ATTENZIONE**: Qui si installa pyenv nella directory utente **$HOME/.pyenv/** che è **sconsigliato** se deve essere usata a livello di sistema (vedi più avanti):
  
 <code> <code>
 curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer \ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer \
     > pyenv-installer     > pyenv-installer
 +export USE_GIT_URI='yes'
 cat pyenv-installer | bash cat pyenv-installer | bash
 </code> </code>
 +
 +==== Installazione in /usr/local/lib/ ====
  
 Più opportunamente si può usare una **directory di sistema**, pur eseguendo il tutto da **utente non privilegiato**. L'impostazione **USE_GIT_URI** serve ad utilizzre http invece di https per aggirare il problema di SSL su vecchie distribuzioni: //tlsv1 alert protocol version//. Più opportunamente si può usare una **directory di sistema**, pur eseguendo il tutto da **utente non privilegiato**. L'impostazione **USE_GIT_URI** serve ad utilizzre http invece di https per aggirare il problema di SSL su vecchie distribuzioni: //tlsv1 alert protocol version//.
Line 35: Line 40:
 cat pyenv-installer | bash cat pyenv-installer | bash
 </code> </code>
 +
 +==== Utilizzo di pyenv ====
  
 Dopo aver installato il tool pyenv è necessario inizializzare l'ambiente prima di usarlo (conviene aggiungere i comandi a ''.bashrc'' o simili): Dopo aver installato il tool pyenv è necessario inizializzare l'ambiente prima di usarlo (conviene aggiungere i comandi a ''.bashrc'' o simili):
Line 58: Line 65:
 </code> </code>
  
-Dopo avere settato queste variabili è possibile installare librerie con il gestore **pip** (resta il problema del download automatico via https, per aggirarlo è necessario fare il download del pacchetto da un altro host e quindi eseguire **pip install nomefile.tar.gz**).+Dopo avere settato queste variabili è possibile installare librerie con il gestore **pip**. Resta il problema del download automatico via https, per aggirarlo è necessario fare il download del pacchetto da un altro host e quindi eseguire **pip install nomefile.tar.gz**.
  
-==== Ricollocazione dell'installazione ====+==== Ricollocazione dell'installazione di pyenv ====
  
 La directory ''$HOME/.pyenv/'' **non può essere spostata altrove**. Molti degli eseguibili creati in **$HOME/.pyenv/versions/2.7.13/** contengono hard-coded il percorso di installazione originale, ad esempio: La directory ''$HOME/.pyenv/'' **non può essere spostata altrove**. Molti degli eseguibili creati in **$HOME/.pyenv/versions/2.7.13/** contengono hard-coded il percorso di installazione originale, ad esempio:
Line 68: Line 75:
   * lib/pkgconfig/python-2.7.pc   * lib/pkgconfig/python-2.7.pc
  
 +==== Problema con pip e ssl ====
 +
 +Con l'installazione di **pyenv** e di **Python 2.7.13** non si risolve il **problema dell'SSL** (Debian 6 fornisce una versione troppo vecchia della libreria, quindi il **wget** da siti **https falisce**).
 +
 +Ad esempio anche la ricerca della **libreria openpyxl** fallisce:
 +
 +<code>
 +pip search openpyxl
 +...
 +SSLError: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:661)
 +</code>
 +
 +<code>
 +pip install /usr/local/download/openpyxl/jdcal-1.4.1-py2.py3-none-any.whl
 +</code>
 +
 +La soluzione è scaricare l'archivio **openpyxl-2.6.2.tar.gz** (i sorgenti della libreria) da **[[https://pypi.org/project/openpyxl/#files|pypi.org]]** e scompattarlo, ad esempio in /usr/local/download/openpyxl/openpyxl-2.6.2/. Quindi - dopo aver settato le **variabili di ambiente Pyenv** - si esegue:
 +
 +<code>
 +pip install /usr/local/download/openpyxl/openpyxl-2.6.2/
 +</code>
 ===== Su Fedora 12 ===== ===== Su Fedora 12 =====
  
Line 121: Line 149:
 ===== Installazione con pip ===== ===== Installazione con pip =====
  
-Il comando **pip** può essere usato per installare le librerie necessarie nell'ambiente Python in uso. In caso di Python installato in backporting come illustrato sopra (**pyenv**, ecc.) è sufficiente **impostare le variabili d'ambiente** necessarie prima di eseguire pip.+Il comando **pip** può essere usato per installare le librerie necessarie nell'ambiente Python in uso. In caso di Python installato in backporting come illustrato sopra (**pyenv**, ecc.) è sufficiente **impostare le variabili d'ambiente** necessarie a pyenv prima di eseguire pip.
  
 Alcuni comandi utili: Alcuni comandi utili:
Line 168: Line 196:
  
 Se i due elenchi differiscono potrebbe dipendere dal fatto che il pyenv non ha impostato correttamente le variabili d'ambiente (vedi sopra il problema della rilocazione dei file dopo l'installazione). Se i due elenchi differiscono potrebbe dipendere dal fatto che il pyenv non ha impostato correttamente le variabili d'ambiente (vedi sopra il problema della rilocazione dei file dopo l'installazione).
 +
 +===== Aggiornamento libreria con pip =====
 +
 +È possibile installare una versione aggiornata di una libreria tramite pip, disinstallando eventualmente il pacchetto Debian che contiene la vecchia versione. Ad esempio:
 +
 +<code>
 +dpkg --purge python-openpyxl
 +pip install openpyxl
 +</code>
 +
doc/appunti/prog/python27_on_debian6.txt · Last modified: 2021/10/09 17:49 by niccolo