J'essaye de comprendre cette histoire d'environnement virtuel. Je suis sous OpenBSD 6.5 avec Python 3.6.8.
(après avoir lu, cette doc, ou celle-ci...)
Bref, lors de l'exécution de l'environnement virtuel, je me retrouve avec cette erreur dont je ne comprend pas la raison :
$ virtualenv mybeautifullproject
Using base prefix '/usr/local'
New python executable in $HOME/Prog/env.py/mybeautifullproject.py/mybeautifullproject/bin/python3
Also creating executable in $HOME/Prog/env.py/mybeautifullproject.py/mybeautifullproject/bin/python
ERROR: The executable $HOME/Prog/env.py/mybeautifullproject.py/mybeautifullproject/bin/python3 could not be run: [Errno 13] Permission denied: '$HOME/Prog/env.py/mybeautifullproject.py/mybeautifullproject/bin/python
$ ls -al mybeautifullproject/
total 40
drwxr-xr-x 5 hs hs 512 Jun 3 01:43 ./
drwxr-xr-x 3 hs hs 512 Jun 3 01:44 ../
drwxr-xr-x 2 hs hs 512 Jun 3 01:43 bin/
drwxr-xr-x 2 hs hs 512 Jun 3 01:43 include/
drwxr-xr-x 3 hs hs 512 Jun 3 01:43 lib/
$ ls -al mybeautifullproject/bin/
total 40
drwxr-xr-x 2 hs hs 512 Jun 3 01:43 ./
drwxr-xr-x 5 hs hs 512 Jun 3 01:43 ../
lrwxr-xr-x 1 hs hs 7 Jun 3 01:43 python@ -> python3
-rwxr-xr-x 1 hs hs 10680 Jun 3 01:43 python3*
lrwxr-xr-x 1 hs hs 7 Jun 3 01:43 python3.6@ -> python3
Une idée ?
(au cas où j'ai essayé virtualenvwrapper - mais c'est pour bash - et le shell natif sous OpenBSD est pdksh)
Idem avec pipenv :
$ pipenv install requests
Warning: the environment variable LANG is not set!
We recommend setting this in ~/.profile (or equivalent) for proper expected behavior.
Creating a virtualenv for this project…
Pipfile: $HOME/Prog/env.py/mybeautifullproject.py/Pipfile
Using /usr/local/bin/python3 (3.6.8) to create virtualenv…
⠇ Creating virtual environment...Already using interpreter /usr/local/bin/python3
Using base prefix '/usr/local'
New python executable in $HOME/.local/share/virtualenvs/mybeautifullproject.py-oFlnu9vD/bin/python3
Also creating executable in $HOME/.local/share/virtualenvs/mybeautifullproject.py-oFlnu9vD/bin/python
ERROR: The executable $HOME/.local/share/virtualenvs/mybeautifullproject.py-oFlnu9vD/bin/python3 could not be run: [Errno 13] Permission denied: '$HOME/.local/share/virtualenvs/mybeautifullproject.py-oFlnu9vD/bin/python3'
✘ Failed creating virtual environment
[pipenv.exceptions.VirtualenvCreationException]: File "$HOME/.local/lib/python3.6/site-packages/pipenv/cli/command.py", line 254, in install
[pipenv.exceptions.VirtualenvCreationException]: editable_packages=state.installstate.editables,
[pipenv.exceptions.VirtualenvCreationException]: File "$HOME/.local/lib/python3.6/site-packages/pipenv/core.py", line 1741, in do_install
[pipenv.exceptions.VirtualenvCreationException]: pypi_mirror=pypi_mirror,
[pipenv.exceptions.VirtualenvCreationException]: File "$HOME/.local/lib/python3.6/site-packages/pipenv/core.py", line 574, in ensure_project
[pipenv.exceptions.VirtualenvCreationException]: pypi_mirror=pypi_mirror,
[pipenv.exceptions.VirtualenvCreationException]: File "$HOME/.local/lib/python3.6/site-packages/pipenv/core.py", line 506, in ensure_virtualenv
[pipenv.exceptions.VirtualenvCreationException]: python=python, site_packages=site_packages, pypi_mirror=pypi_mirror
[pipenv.exceptions.VirtualenvCreationException]: File "$HOME/.local/lib/python3.6/site-packages/pipenv/core.py", line 935, in do_create_virtualenv
[pipenv.exceptions.VirtualenvCreationException]: extra=[crayons.blue("{0}".format(c.err)),]
[pipenv.exceptions.VirtualenvCreationException]:
Failed to create virtual environment.
Bref, je ne sais quoi trop en penser ?!
Ici, on parle de l'option 'exec' sur le mount de home qui pourrait résoudre...
Ailleurs, on mentionne les droits... mais je suis dans mon home, exécuté avec mes droits, et pas ceux d'admin !
D'autant mon fichier 'fstab' :
$ cat /etc/fstab
ef1ea0f909e0b8d8.b none swap sw
ef1ea0f909e0b8d8.a / ffs rw 1 1
ef1ea0f909e0b8d8.l /home ffs rw,nodev,nosuid 1 2
ef1ea0f909e0b8d8.d /tmp ffs rw,nodev,nosuid,noexec 1 2
ef1ea0f909e0b8d8.f /usr ffs rw,nodev 1 2
ef1ea0f909e0b8d8.g /usr/X11R6 ffs rw,nodev 1 2
ef1ea0f909e0b8d8.h /usr/local ffs rw,nodev,wxallowed 1 2
ef1ea0f909e0b8d8.j /usr/obj ffs rw,nodev,nosuid 1 2
ef1ea0f909e0b8d8.m /usr/ports ffs rw,nodev,nosuid 1 2
ef1ea0f909e0b8d8.i /usr/src ffs rw,nodev,nosuid 1 2
ef1ea0f909e0b8d8.e /var ffs rw,nodev,nosuid,noexec 1 2
ef1ea0f909e0b8d8.k /var/log ffs rw,nodev,nosuid,noexec 1 2
Et, au cas où on me poserait la question, paramétré explicitement 'exec' ne change rien... c'est par défaut.