68 votes

Comment configurer un projet pipenv Python 3.6 si la version de l'OS Python est 3.5 ?

Mon Ubuntu 16.04.03 est installé avec Python 3.5.2. Comment puis-je configurer pipenv pour qu'il utilise Python 3.6 alors que mon système ne possède pas Python 3.6 ?

$ pipenv --python 3.6
Warning: Python 3.6 was not found on your system…
You can specify specific versions of Python with:
  $ pipenv --python path/to/python

87voto

pawamoy Points 1019

Soit écrire manuellement la version dont vous avez besoin dans votre Pipfile :

[requires]
python_version = "3.6"

Ou installez-le sur votre système. Mais je suppose que vous sera la version doit être installée si vous prévoyez d'exécuter réellement pipenv install .

Je suggère d'utiliser pyenv : https://github.com/pyenv/pyenv .

Suivez les instructions d'installation, puis l'installation de Python 3.6 est juste une question de

pyenv install 3.6.3

Vous pouvez ensuite définir l'ordre de préférence avec

pyenv global system 3.6.3

D'ailleurs, si pyenv est disponible, pipenv l'utilisera automatiquement pour installer la version requise. À partir de pipenv README :

Installer automatiquement les Pythons requis, si pyenv est disponible.

4 votes

J'ai choisi cette réponse parce que pyenv m'a permis d'installer différentes versions de Python sans affecter ou entrer en conflit avec la version Python du système d'exploitation. Merci.

2 votes

Pourquoi est-ce que pyenv pas installé en même temps que pipenv ?

0 votes

Parce que le choix d'utiliser pyenv est laissé à l'utilisateur :) Et l'utilisation de pyenv (qui est un script bash) nécessite que l'utilisateur le charge dans le shell courant (depuis .bashrc par exemple), et pipenv ne veut pas le faire pour vous je suppose.

13voto

andreielizaga Points 76

Sous MacOS, j'ai également utilisé pyenv pour gérer les versions de python, similaire à la suggestion de @pawamoy.

Après l'installation, j'ai exécuté pipenv shell avec le --python pointant vers le répertoire de l'option spécifique pyenv version. Cela générera automatiquement une Pipfile avec python_version = "3.6" .

  pipenv --python /Users/<Your User>/.pyenv/versions/3.6.3/bin/python3.6 shell

0 votes

pipenv shell en spécifiant le chemin d'accès à python, c'est une astuce astucieuse qui fonctionne tout simplement !

8voto

Adnan Murtaza Points 21

Installez le paquet 'pyenv' en utilisant brew install pyenv (si vous ne l'avez pas).

Installez python 3.6 en utilisant pyenv install 3.6

Exporter la nouvelle version de python installée dans PATH

export PATH=${PYENV_PYTHON_VERSIONS_HOME}/3.6/bin

Maintenant, dans "Piplock", spécifiez la même version.

[requires] python_version = "3.6"

Enfin, exécutez pipenv install --dev .

5voto

Roushan Points 2474

Installer python 3.6 référence

Ubuntu 14.04 et 16.04 Si vous utilisez Ubuntu 14.04 ou 16.04, vous pouvez utiliser le PPA deadsnakes de Felix Krull à l'adresse suivante https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa :

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6

Sinon, vous pouvez utiliser le PPA de J Fernyhough à l'adresse suivante https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6 :

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6
Ubuntu 16.10 and 17.04

Si vous utilisez Ubuntu 16.10 ou 17.04, Python 3.6 est dans le dépôt universel, vous pouvez donc l'exécuter :

sudo apt-get update
sudo apt-get install python3.6

Ensuite, créez une version spécifique de l'environnement python

virtualenv -p python3.6 python36venv

-1voto

Yunier Rojas Points 56

Je ne pense pas que vous puissiez faire un virtualenv d'une version de Python que vous n'avez pas. Ce que vous pouvez faire, c'est une de ces options :


  • Si vous souhaitez tester votre code dans plusieurs versions de Python, la bonne méthode est la suivante Tox .
  • Si vous souhaitez disposer de plusieurs installations de python dans votre système, je vous recommande de asdf pour Python .

0 votes

tox nécessite également l'installation des différentes versions de Python.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X