Установить версию Python при создании virtualenv с помощью pipenv - PullRequest
0 голосов
/ 03 мая 2018

Используя Raspberry Pi с использованием Debian 4.14.34-v7 +, я пытаюсь настроить pipenv с Python 3.6.5 в качестве версии Python по умолчанию. Сначала я устанавливаю Python 3.6, компилируя его на Pi (часы ...). После создания каталога 'robot' я затем устанавливаю pipenv с помощью $ sudo pip3 install pipenv и $ pipenv install --three.

Затем я запускаю оболочку и открываю Python, получая Python 3.5.3:

pi@raspberrypi:~/robot $ pipenv shell
Spawning environment shell (/bin/bash). Use 'exit' to leave.
. /home/pi/.local/share/virtualenvs/robot-XZ3Md9g0/bin/activate
pi@raspberrypi:~/robot $ . /home/pi/.local/share/virtualenvs/robot-XZ3Md9g0/bin/activate
(robot-XZ3Md9g0) pi@raspberrypi:~/robot $ python
Python 3.5.3 (default, Jan 19 2017, 14:11:04) 
[GCC 6.3.0 20170124] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

Затем я изменяю virtualenv на "$ pipenv --python 3.6", но после его правильной (очевидно) установки я сразу получаю предупреждение, что pipenv по-прежнему ожидает Python 3.5 ...:

(robot-XZ3Md9g0) pi@raspberrypi:~/robot $ pipenv --python 3.6
Virtualenv already exists!
Remove existing virtualenv? [Y/n]: y
Removing existing virtualenv…
Creating a virtualenv for this project…
Using /usr/local/bin/python3.6m (3.6.5) to create virtualenv…
⠋Running virtualenv with interpreter /usr/local/bin/python3.6m
Using base prefix '/usr/local'
New python executable in /home/pi/.local/share/virtualenvs/robot-XZ3Md9g0/bin/python3.6m
Also creating executable in /home/pi/.local/share/virtualenvs/robot-XZ3Md9g0/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /home/pi/.local/share/virtualenvs/robot-XZ3Md9g0
Warning: Your Pipfile requires python_version 3.5, but you are using 3.6.5 (/home/pi/.local/share/v/r/bin/python).
  $ pipenv check will surely fail.
(robot-XZ3Md9g0) pi@raspberrypi:~/robot $ python
Python 3.6.5 (default, May  3 2018, 11:25:17) 
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

ТАК - вопрос - Как мне настроить pipenv для поиска Python 3.6 при первом создании virtualenv? Я могу вручную войти и отредактировать Pip-файл, но это, кажется, побеждает цель того, чтобы pipenv позаботился обо мне.

Ответы [ 3 ]

0 голосов
/ 01 октября 2018

При настройке pipenv вы можете указать версию Python, используя: pipenv --python 3.6, чтобы использовать Python3.6.

Редактирование Pipfile также работает, путем изменения:

[requires] python_version = "3.6.6"

до конкретной версии Python, которую вы хотите.

Если вы сделали все это и у вас все еще есть проблемы с доступом к правильной версии Python из pipenv shell, то вы можете проверить файл .bashrc, чтобы убедиться, что у вас нет alias для конкретной версии Python.

0 голосов
/ 26 марта 2019

Если вы хотите создать виртуальную среду для своего проекта, приведенные выше ответы могут не сработать. Например, если у вас установлено несколько версий python, и вам пришлось переименовывать исполняемые файлы, как я делал в приведенном ниже примере, ИЛИ вы можете создавать виртуальные среды с использованием разных версий python.

При создании виртуальных сред для ваших проектов вы можете более конкретно и указать путь к исполняемому файлу python.

Не забудьте выполнить приведенную ниже команду относительно папки проекта.

pipenv install --python 'C:\Python373\python373.exe'
0 голосов
/ 03 мая 2018

«Редактировать файл Pip» - правильный путь, если вы хотите изменить версию Python существующей среды.

Если вы хотите создать новую среду с использованием Python 3.6, вы можете запустить

pipenv install --python 3.6

вместо

pipenv install --three

и это должно сработать.

...