Création dossier virtuel avec venv


#1

Bonjour,
Pour mes comptes perso je veux installer Tryton (avec une base SQlite dans un environnement virtuel) dans Windows10. J’ai activé la fonctionnalité WSL (sous-système linux) et installé Debian - Je me retrouve avec la version 9.8.
En console j’envoie :
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install aptitude
sudo aptitude install python3
sudo aptitude install sqlite3
sudo aptitude install python3-pip
sudo aptitude install python3-venv
#Création dossier
python3 -m venv --system-site-packages /mnt/c/Users/cam/Documents/Tryton/venv_tryton
Je crée la base dans db et le fichier tryton.conf dans conf
Ensuite j’active le venv
cd /mnt/c/Users/cam/Documents/Tryton/venv_tryton
source bin/activate
Jusqu’ici tout va bien…
Mais quand je lance
pip install trytond
il me répond : -bash : pip: command not found
Je bataille depuis 2 heures et je ne trouve pas la solution sur internet. Je suppose que ma commande de création du dossier est foireuse. Je me plante où ?


#2

Une précision :
Comme je me retrouve avec python 3.5 j’ai essayé aussi avec
pyvenv --system-site-packages /mnt/c/Users/cam/Documents/Tryton/venv_tryton

Même erreur


(Sebastien Marie) #3

essaie avec pip3 install trytond

sous Debian, pip fonctionne avec python2, et pip3 avec python3


#4

Lorsque je lance pip3 install trytond, il commence par :
Collecting trytond
Puis un méchant tas d’erreurs.
J’ai redirigé la sortie vers un fichier texte, trop long pour le copier ici.
Je l’ai déposé là :
https://wetransfer.com/downloads/a0a3eb2f79eb5f9c64d02fc890798eec20190422141441/ed9d56fd28069f6b9ed3f5d1888faaac20190422141441/f7ebb1


#5

Bonjour,
Je viens de ré-essayé sur une machine avec un vrai debian 8
Lorsque je lance “pip3 install trytond” tout semble bien se passer mais à la fin j’ai plusieurs messages d’erreur et pour finir j’ai :
PermissionError: [Errno 13] Permission denied: ‘/usr/lib/python3.4/site-packages’

Quel est le problème ?


(Nicolas Évrard) #6

Tu n’as pas les droits en écritures sur ce répertoire.
À priori tu sembles vouloir l’installer dans un environnement virtuel, l’as tu activé ?


#7

Oui, oui… J’ai refait un dossier venv tout propre avec :
python3 -m venv --system-site-packages /home/cam/test_tryton/venv_tryton

Créé Base dans venv_tryton/db et tryton.conf dans venv_tryton/conf.
J’active le venv_tryton et je lance “pip3 install trytond” il télécharge bien les modules et après le message :
“Installing collected packages: trytond, python-sql, lxml, passlib, polib, wrapt, relatorio, Genshi, werkzeug, python-dateutil, python-magic”

Ca enchaîne par :
Cleaning up…
Exception:
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/pip/basecommand.py”, line 122, in main
status = self.run(options, args)
File “/usr/lib/python3/dist-packages/pip/commands/install.py”, line 295, in run
requirement_set.install(install_options, global_options, root=options.root_path)
File “/usr/lib/python3/dist-packages/pip/req.py”, line 1436, in install
requirement.install(install_options, global_options, *args, **kwargs)
File “/usr/lib/python3/dist-packages/pip/req.py”, line 672, in install
self.move_wheel_files(self.source_dir, root=root)
File “/usr/lib/python3/dist-packages/pip/req.py”, line 902, in move_wheel_files
pycompile=self.pycompile,
File “/usr/lib/python3/dist-packages/pip/wheel.py”, line 214, in move_wheel_files
clobber(source, lib_dir, True)
File “/usr/lib/python3/dist-packages/pip/wheel.py”, line 176, in clobber
os.makedirs(dest)
File “/usr/lib/python3.4/os.py”, line 237, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: ‘/usr/lib/python3.4/site-packages’
Storing debug log for failure in /home/cam/.pip/pip.log

Et ça s’arrête là…
Voilà où j’en suis…


(Nicolas Évrard) #8

Quel est le résultat des commandes:

$ which pip

et

$ which pip3

À priori, pip doit être celui du venv et pip3 celui de la distribution, si c’est bien le cas alors il faut utiliser le premier et non le second (quoiqu’il arrive il faut utiliser le pip du venv).


#9

$ which pip renvoie
/usr/bin/pi

et $ which pip3 renvoie
/usr/bin/pip3


(Nicolas Évrard) #10

Ton python est il bien le python du venv ?
pip doit être quelque part dans le venv (mais apparement pas dans ton $PATH ce qui me semble bizarre).


#11

Sur la page :
https://docs.python.org/fr/3/library/venv.html
je lis :
Modifié dans la version 3.4: Installe pip par défaut, ajout des options --without-pip et --copies
Et dans la liste des options :
–without-pip -> Skips installing or upgrading pip in the virtual environment (pip is bootstrapped by default)

Est-ce que ça peux venir de là ?
Auquel cas comment forcer l’install du pip dans l’venv ? Je ne trouve pas sur la doc.
Je suis un bleu, faut dire…


(Nicolas Évrard) #12

Chez moi (une debian aussi):

La commande python3 -m venv --system-site-packages /tmp/brol crée bien un environnement virtuel dans /tmp/brol.

Et source bin/activate, ajoute bien le répertoire bin dans le $PATH. En conséquence, mon pip pointe bien vers l’exécutable dans le venv:

(brol) nicoe@mirabelle:/tmp/brol% which pip
/tmp/brol/bin/pip

Je pense que tes problèmes viennent du fait que ton $PATH n’est pas correct. Que donne:

$ echo $PATH

(quand tu es dans l’environnement évidemment)


#13

Voici ce que ça donne :
(venv_tryton)…$ echo $PATH
/home/cam/test_tryton/venv_tryton/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games


(Nicolas Évrard) #14

OK merci.

Donc si pip n’est pas installé là dedans (ce qui me semble bizarre mais bon soit), un coup de ensurepip devrait régler ça (je l’ai jamais fait mais c’est ce que la doc dit :stuck_out_tongue:).

python -m ensurepip


#15

Je l’ai essayé dans le venv activé,
ça m’ouvre python, les >> en début de ligne

Et je ne vois pas quoi faire…


(David Harper) #16

Hi,

I am also running Debian 9.8, and

$ python3 -m venv --system-site-packages /tmp/test

does not seem to install the pip or pip3 commands in the bin directory, I don’t know why this is. So instead, try creating the virtual environment with:

$ python3 -m venv /tmp/test

This seems to work for me.


(Nicolas Évrard) #17

Normalement tu n’as rien à faire de plus.

D’après @dave, ne pas utiliser --system-site-packages quand tu initialises ton venv fonctionne (de façon générale d’ailleurs je ne mélange pas l’environnement virtuel avec l’environnement global, c’est un truc pour se tirer des balles dans le pied).


(Nicolas Évrard) #18

What’s the python3 version in Debian 9.8?


(David Harper) #19
$ python3 --version
Python 3.5.3

#20

Avec mon debian 8 LTS c’est mort.
J’ai bian essayé --system-site-packages et l’installation de trytond se fait bien dans bin
Mais à la fin de pip3 install trytond il me réclame libxml2 et je n’ai pas accès à python3-libxml2 dans mes sources.
Je ne ferme pas encore, j’installe deb 9.8 et je reviens dire si ça roule pour moi