Re: [Python] [Python3] virtualenv aggiornato su vecchia distro

2021-06-04 Per discussione Valerio Pachera
Il giorno lun 31 mag 2021 alle ore 14:34 Strap Lab  ha
scritto:

> ...
> Quindi, se vuoi differenti versioni di python senza aggiornare il sistema
> operativo ti suggerirei l'utilizzo di pyenv https://github.com/pyenv/pyenv
> che ti aiuterà a scaricare e compilare la versione di Python che desideri
>

Vi confermo che sono riuscito ad usare pyenv ed installare python 3.9.5 e
far girare lo script con le sue benedette librerie.
Grazie ancora dell'aiuto!
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [Python3] virtualenv aggiornato su vecchia distro

2021-05-31 Per discussione Antonio Cavallo
Puoi anche provare conda che è molto più usato professionalmente: se vuoi usare 
lo stack completamente free puoi usare miniconda + condaforge, se hai bisogno 
di supporto commerciale anaconda può fare al caso tuo. Mamba è uno spin off 
conda compatibile ma molto più veloce. Tutti sono basati su conda. 
Installazione + uso non richiede più di cinque minuti max.


> On May 31, 2021, at 08:45, Valerio Pachera  wrote:
> 
> 
> 
> 
>> Il giorno lun 31 mag 2021 alle ore 14:34 Strap Lab  ha 
>> scritto:
>> 
>> 
>> Sì, devi compliarti le versioni di Python che ti servono.
>> Quindi, se vuoi differenti versioni di python senza aggiornare il sistema 
>> operativo ti suggerirei l'utilizzo di pyenv https://github.com/pyenv/pyenv 
>> che ti aiuterà a scaricare e compilare la versione di Python che desideri 
>> (c'è pure asdf https://github.com/asdf-vm/asdf che fa anche di più 
>> nell'eventualità). 
>> Non badare alle funzionalità di attivazione e disattivazione dell'interprete 
>> che ti mette a disposizione pyenv, usalo principalmente per automatizzare la 
>> build degli interpreti Python, perché altrimenti il sistema operativo farà 
>> parecchia confusione e non vogliamo che accada.
>> Una volta scaricata e installata la versione di Python con pyenv puoi 
>> continuare ad utilizzare virtualenv indicando il python path che ti 
>> interessa con il parametro -p.
>  
> Grazie mille per i suggerimenti, questa sembra la strada migliore!
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [Python3] virtualenv aggiornato su vecchia distro

2021-05-31 Per discussione Yuri

/usr/local/lib/python3.5/dist-packages/pip/

cancella pip da lì e reinstallala con

|sudo apt install python3-pip In generale, puoi sempre ripartire da 
zero: https://packaging.python.org/tutorials/installing-packages/ If pip 
isn’t already installed, then first try to bootstrap it from the 
standard library: Unix/macOS python3 -m ensurepip --default-pip If pip 
isn’t already installed, then first try to bootstrap it from the 
standard library: python3 -m ensurepip --default-pip If that still 
doesn’t allow you to run python -m pip: Securely Download get-pip.py Run 
python get-pip.py. This will install or upgrade pip. Additionally, it 
will install setuptools and wheel if they’re not installed already. 
Insomma, se ne esce :-) |


Il 31/05/21 14:38, Valerio Pachera ha scritto:

Grazie per le risposte.
Avevo valutato (velocemente) se usare virtualenv o venv e la mia 
scelta era ricaduta sul primo perché ha alcune funzionalità in più, in 
particolare, paragonato a virtualenv
https://virtualenv.pypa.io/en/latest/ 

"cannot create virtual environments for arbitrarily installed python 
versions (and automatically discover these),"


Il vero problema che sto cercando di aggirare è questo (su ubuntu 16.04):

pip3 --version
Traceback (most recent call last):
File "/usr/bin/pip3", line 11, in 
sys.exit(main())
File "/usr/local/lib/python3.5/dist-packages/pip/__init__.py", line 
12, in main

from pip._internal.utils.entrypoints import _wrapper
File 
"/usr/local/lib/python3.5/dist-packages/pip/_internal/utils/entrypoints.py", 
line 4, in 

from pip._internal.cli.main import main
File 
"/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", 
line 58

sys.stderr.write(f"ERROR: {exc}")
^
SyntaxError: invalid syntax

notare che avendo pip3 "rotto" di suo, non posso neanche usarlo per 
installare altri moduli nel virtual env.


Ho provato quindi ad installare una versione specifica di pip:
https://stackoverflow.com/questions/66212924/pip-sys-stderr-writeferror-exc-with-python-3-5 



Ho installato
apt-get install python3-venv

e provato a creare e attivare il virtual env
python3 -m venv venv
source venv/bin/activate

Installo con successo i moduli che mi servono:
pip3 install htmlentities Jinja2 ldap3 python-zimbra six

eseguo il mio script e va in crisi su qualcosa relativo a Jinja2

./myscript.py -h
Traceback (most recent call last):
File "./myscript.py", line 7, in 
from jinja2 import Environment, FileSystemLoader
File 
"/opt/Custom/myscript/venv/lib/python3.5/site-packages/jinja2/__init__.py", 
line 5, in 

from .bccache import BytecodeCache as BytecodeCache
File 
"/opt/Custom/myscript/venv/lib/python3.5/site-packages/jinja2/bccache.py", 
line 61

self.code: t.Optional[CodeType] = None
^
SyntaxError: invalid syntax

Controllo la variabile d'ambiente

echo $PATH
/opt/Custom/ss-signatures/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

E qua credo proprio che l'interprete sia troppo vecchio.

___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [Python3] virtualenv aggiornato su vecchia distro

2021-05-31 Per discussione Valerio Pachera
Il giorno lun 31 mag 2021 alle ore 14:34 Strap Lab  ha
scritto:

>
>
> Sì, devi compliarti le versioni di Python che ti servono.
> Quindi, se vuoi differenti versioni di python senza aggiornare il sistema
> operativo ti suggerirei l'utilizzo di pyenv https://github.com/pyenv/pyenv
> che ti aiuterà a scaricare e compilare la versione di Python che desideri
> (c'è pure asdf https://github.com/asdf-vm/asdf che fa anche di più
> nell'eventualità).
> Non badare alle funzionalità di attivazione e disattivazione
> dell'interprete che ti mette a disposizione pyenv, usalo principalmente per
> automatizzare la build degli interpreti Python, perché altrimenti il
> sistema operativo farà parecchia confusione e non vogliamo che accada.
> Una volta scaricata e installata la versione di Python con pyenv puoi
> continuare ad utilizzare virtualenv indicando il python path che ti
> interessa con il parametro -p.
>

Grazie mille per i suggerimenti, questa sembra la strada migliore!
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [Python3] virtualenv aggiornato su vecchia distro

2021-05-31 Per discussione Valerio Pachera
Grazie per le risposte.
Avevo valutato (velocemente) se usare virtualenv o venv e la mia scelta era
ricaduta sul primo perché ha alcune funzionalità in più, in particolare,
paragonato a virtualenv
https://virtualenv.pypa.io/en/latest/
"cannot create virtual environments for arbitrarily installed python
versions (and automatically discover these),"

Il vero problema che sto cercando di aggirare è questo (su ubuntu 16.04):

pip3 --version
Traceback (most recent call last):
File "/usr/bin/pip3", line 11, in 
sys.exit(main())
File "/usr/local/lib/python3.5/dist-packages/pip/__init__.py", line 12, in
main
from pip._internal.utils.entrypoints import _wrapper
File
"/usr/local/lib/python3.5/dist-packages/pip/_internal/utils/entrypoints.py",
line 4, in 
from pip._internal.cli.main import main
File "/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py",
line 58
sys.stderr.write(f"ERROR: {exc}")
^
SyntaxError: invalid syntax

notare che avendo pip3 "rotto" di suo, non posso neanche usarlo per
installare altri moduli nel virtual env.

Ho provato quindi ad installare una versione specifica di pip:
https://stackoverflow.com/questions/66212924/pip-sys-stderr-writeferror-exc-with-python-3-5

Ho installato
apt-get install python3-venv

e provato a creare e attivare il virtual env
python3 -m venv venv
source venv/bin/activate

Installo con successo i moduli che mi servono:
pip3 install htmlentities Jinja2 ldap3 python-zimbra six

eseguo il mio script e va in crisi su qualcosa relativo a Jinja2

./myscript.py -h
Traceback (most recent call last):
File "./myscript.py", line 7, in 
from jinja2 import Environment, FileSystemLoader
File
"/opt/Custom/myscript/venv/lib/python3.5/site-packages/jinja2/__init__.py",
line 5, in 
from .bccache import BytecodeCache as BytecodeCache
File
"/opt/Custom/myscript/venv/lib/python3.5/site-packages/jinja2/bccache.py",
line 61
self.code: t.Optional[CodeType] = None
^
SyntaxError: invalid syntax

Controllo la variabile d'ambiente

echo $PATH
/opt/Custom/ss-signatures/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

E qua credo proprio che l'interprete sia troppo vecchio.
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [Python3] virtualenv aggiornato su vecchia distro

2021-05-31 Per discussione Strap Lab
Ciao Valerio,

On Mon, May 31, 2021 at 12:53 PM Valerio Pachera  wrote:

> [...]
> L'altra strada sarebbe quella di creare il virtualenv direttamente sulla
> ubuntu 16.04 ma non saprei come fare a generare un virtualenv con la
> versione 3.8 (o 3.9) di python.
>
> Immagino che il primo suggerimento sia "aggiorna la ubuntu" e avete
> ragione,
>

No, non serve aggiornare ubuntu, e ho ragione! :-D

ma esiste la possibilità di avere un virtualenv con python aggiornato su
> una distro vecchia?
>
>
Sì, devi compliarti le versioni di Python che ti servono.
Quindi, se vuoi differenti versioni di python senza aggiornare il sistema
operativo ti suggerirei l'utilizzo di pyenv https://github.com/pyenv/pyenv
che ti aiuterà a scaricare e compilare la versione di Python che desideri
(c'è pure asdf https://github.com/asdf-vm/asdf che fa anche di più
nell'eventualità).
Non badare alle funzionalità di attivazione e disattivazione
dell'interprete che ti mette a disposizione pyenv, usalo principalmente per
automatizzare la build degli interpreti Python, perché altrimenti il
sistema operativo farà parecchia confusione e non vogliamo che accada.
Una volta scaricata e installata la versione di Python con pyenv puoi
continuare ad utilizzare virtualenv indicando il python path che ti
interessa con il parametro -p.

Ad esempio:
pyenv install 3.9.0

virtualenv env -p /home/mioutente/.pyenv/versions/3.9.0/bin/python
...
Attiva il tuo virtualenv, that's it.

Le considerazioni valgono anche per il buon virtualenvwrapper, che sto
utilizzando per creare ambienti Python2.x e Python3.x con l'appoggio di
pyenv per avere diverse versioni dell'interprete Python.

Spero ti possa esser d'aiuto.
Sani
Strap

PS: Strap è il mio nickname. Sani è il vecchio saluto utilizzato nel
Bellunese, un po' come Mandi in quel del Friuli. Così, giusto per essere
precisi :-D
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [Python3] virtualenv aggiornato su vecchia distro

2021-05-31 Per discussione Yuri

pip freeze > requirements.txt

nel tuo portatile

e poi in ubuntu 16.04 crei un venv con python 3.5 e fai pip install 
requirements.txt


Per spostare un venv bisogna editare un sacco di file, si fa prima a far 
così.


Come suggeriscono, usa python3 -m venv  per creare il virtualenv.

Il 31/05/21 12:53, Valerio Pachera ha scritto:

Buongiorno a tutti, mi trovo nella seguente situazione:
ho una ubuntu 16.04 con python 3.5 e devo far girare una script che 
richiede vari moduli aggiornati (tra cui Jinja2).


Sul mio portatile ho creato, tramite virtualenv, un ambiente 
comprensivo di tali moduli e python3.8 (opzione --always-copy) per poi 
scoprire che il virtualenv non è "portabile".

Esso infatti usa dei percorsi assoluti.

Facendo una ricerca trovo menzionata l'opzione --relocatable ma che 
non trovo nel --help
https://stackoverflow.com/questions/32407365/can-i-move-a-virtualenv 



virtualenv --version
virtualenv 20.4.7 from 
/usr/local/lib/python3.8/dist-packages/virtualenv/__init__.py


virtualenv --help | grep reloc

L'altra strada sarebbe quella di creare il virtualenv direttamente 
sulla ubuntu 16.04 ma non saprei come fare a generare un virtualenv 
con la versione 3.8 (o 3.9) di python.


Immagino che il primo suggerimento sia "aggiorna la ubuntu" e avete 
ragione, ma esiste la possibilità di avere un virtualenv con python 
aggiornato su una distro vecchia?


Grazie in anticipo :-)



___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [Python3] virtualenv aggiornato su vecchia distro

2021-05-31 Per discussione Paolo Melchiorre
Ciao Valerio,

Io proverei a vedere se usare il modulo venv di python3 ti semplifica le
cose rispetto a virtualenv

https://docs.python.org/3/library/venv.html

Paolo


On Mon, May 31, 2021, 12:53 Valerio Pachera  wrote:

> Buongiorno a tutti, mi trovo nella seguente situazione:
> ho una ubuntu 16.04 con python 3.5 e devo far girare una script che
> richiede vari moduli aggiornati (tra cui Jinja2).
>
> Sul mio portatile ho creato, tramite virtualenv, un ambiente comprensivo
> di tali moduli e python3.8 (opzione --always-copy) per poi scoprire che il
> virtualenv non è "portabile".
> Esso infatti usa dei percorsi assoluti.
>
> Facendo una ricerca trovo menzionata l'opzione --relocatable ma che non
> trovo nel --help
> https://stackoverflow.com/questions/32407365/can-i-move-a-virtualenv
>
> virtualenv --version
> virtualenv 20.4.7 from
> /usr/local/lib/python3.8/dist-packages/virtualenv/__init__.py
>
> virtualenv --help | grep reloc
>
> L'altra strada sarebbe quella di creare il virtualenv direttamente sulla
> ubuntu 16.04 ma non saprei come fare a generare un virtualenv con la
> versione 3.8 (o 3.9) di python.
>
> Immagino che il primo suggerimento sia "aggiorna la ubuntu" e avete
> ragione, ma esiste la possibilità di avere un virtualenv con python
> aggiornato su una distro vecchia?
>
> Grazie in anticipo :-)
>
>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] [Python3] virtualenv aggiornato su vecchia distro

2021-05-31 Per discussione Paolo Di Ieso
Pyenv

Il lun 31 mag 2021, 12:53 Valerio Pachera  ha scritto:

> Buongiorno a tutti, mi trovo nella seguente situazione:
> ho una ubuntu 16.04 con python 3.5 e devo far girare una script che
> richiede vari moduli aggiornati (tra cui Jinja2).
>
> Sul mio portatile ho creato, tramite virtualenv, un ambiente comprensivo
> di tali moduli e python3.8 (opzione --always-copy) per poi scoprire che il
> virtualenv non è "portabile".
> Esso infatti usa dei percorsi assoluti.
>
> Facendo una ricerca trovo menzionata l'opzione --relocatable ma che non
> trovo nel --help
> https://stackoverflow.com/questions/32407365/can-i-move-a-virtualenv
>
> virtualenv --version
> virtualenv 20.4.7 from
> /usr/local/lib/python3.8/dist-packages/virtualenv/__init__.py
>
> virtualenv --help | grep reloc
>
> L'altra strada sarebbe quella di creare il virtualenv direttamente sulla
> ubuntu 16.04 ma non saprei come fare a generare un virtualenv con la
> versione 3.8 (o 3.9) di python.
>
> Immagino che il primo suggerimento sia "aggiorna la ubuntu" e avete
> ragione, ma esiste la possibilità di avere un virtualenv con python
> aggiornato su una distro vecchia?
>
> Grazie in anticipo :-)
>
>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


[Python] [Python3] virtualenv aggiornato su vecchia distro

2021-05-31 Per discussione Valerio Pachera
Buongiorno a tutti, mi trovo nella seguente situazione:
ho una ubuntu 16.04 con python 3.5 e devo far girare una script che
richiede vari moduli aggiornati (tra cui Jinja2).

Sul mio portatile ho creato, tramite virtualenv, un ambiente comprensivo di
tali moduli e python3.8 (opzione --always-copy) per poi scoprire che il
virtualenv non è "portabile".
Esso infatti usa dei percorsi assoluti.

Facendo una ricerca trovo menzionata l'opzione --relocatable ma che non
trovo nel --help
https://stackoverflow.com/questions/32407365/can-i-move-a-virtualenv

virtualenv --version
virtualenv 20.4.7 from
/usr/local/lib/python3.8/dist-packages/virtualenv/__init__.py

virtualenv --help | grep reloc

L'altra strada sarebbe quella di creare il virtualenv direttamente sulla
ubuntu 16.04 ma non saprei come fare a generare un virtualenv con la
versione 3.8 (o 3.9) di python.

Immagino che il primo suggerimento sia "aggiorna la ubuntu" e avete
ragione, ma esiste la possibilità di avere un virtualenv con python
aggiornato su una distro vecchia?

Grazie in anticipo :-)
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python