web-dev-qa-db-fra.com

pyvenv ne fonctionne pas parce que Ensurepip n'est pas disponible

Je suis passé d'ubuntu 14.04 à ubuntu 16.04 il y a quelques jours. Quand j'essaie de créer un env virtuel en utilisant

pyvenv .venv

ou

python3 -m venv .venv

Il y a une erreur:

The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use Sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/usr/bin/python3.5', '-Im', 'ensurepip', '--upgrade', '--default-pip']

J'ai essayé de courir les deux

Sudo apt-get install python3-venv

et

Sudo apt-get install python3.5-venv

mais cela n'a pas résolu mon problème.

Puis-je avoir une aide s'il vous plait ? Merci

42
Louis M

Il semble que ce soit un problème de paramètres régionaux. Résolu en exécutant:

export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
Sudo dpkg-reconfigure locales

trouvé sur ce fil erreur de paramètres régionaux Python: paramètre régional non pris en charge

82
Louis M

essayez d'installer python3.6-venv:

Sudo apt-get install python3.6-venv
32
jnicho02

Une des autres réponses a corrigé cela pour moi la dernière fois, mais avec Python 3.7, je devais faire:

apt install python3-pip python3-setuptools python3.7-venv

Suivi par

python3.7 -m venv /path/to/venv
16
Aaron F

Au cas où cela aiderait quelqu'un sur la ligne, je recevais la même erreur sur Ubuntu 18.04. La définition des paramètres régionaux ne fonctionnait pas et la tentative d'installation de python3-venv a donné l'erreur:

$ Sudo apt-get install python3-venv
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python3-venv : Depends: python3.6-venv (>= 3.6.5-2~) but it is not going to be installed
                Depends: python3 (= 3.6.5-3) but 3.6.7-1~18.04 is to be installed
E: Unable to correct problems, you have held broken packages.

Et il semble que le référentiel apt ait deux versions de python:

$ apt list python3 -a
python3/bionic-updates,now 3.6.7-1~18.04 AMD64 [installed]
python3/bionic 3.6.5-3 AMD64

J'ai essayé d'installer Python3.6.5-3 mais apt voulait désinstaller toutes les dépendances. J'ai pu résoudre le problème en installant Python3.7 et en créant le venv avec:

$ Sudo apt-get install python3.7 python3.7-venv
$ python3.7 -m venv my_venv
4
nbwoodward

Sous Windows Linux Subsystem et Ubuntu 18.04, cela était dû au fait que je n'avais pas mis à niveau récemment.

Iran:

Sudo apt update
Sudo apt upgrade

Ensuite Sudo apt install python3-venv travaillé.

Notez que j'avais aussi déjà essayé = solution UTF-8 (je l'ai intégré à mon .bashrc), cela aurait donc pu être un facteur contributif.

3
Eponymous

Essayez: python3.* -m venv myvenv -

Et n'oubliez pas de remplacer * par votre version spécifique de python

1
Nax

J'ai eu le même problème - le python env a 2 versions pour 2.7 et 3.6.

Tout ce que vous devez faire c'est:

  1. Installez la dernière version de pip en installant installateur pyenv
  2. Assurez-vous de suivre les étapes d'installation de pyenv trouvé ici

Bonne chance!

1
samiya umar