使用使用 Debian 4.14.34-v7+ 的 Raspberry Pi,我试图将 pipenv
设置为 Python 3.6.5 作为 Python 的默认版本。我首先通过在 Pi 上编译来安装 Python 3.6(几个小时……)。创建“机器人”目录后,我安装 pipenv
和 sudo pip3 install pipenv
和 pipenv install --three
。
然后我启动 shell 并打开 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.
>>>
当我第一次创建 virtualenv 时,如何设置 pipenv
以查找 Python 3.6?我可以手动进入并编辑 Pipfile,但这似乎违背了让 pipenv
为我处理事情的目的。
原文由 James Taylor 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您想更改现有环境的 Python 版本,“编辑 Pipfile”是正确的方法。
如果你想使用 Python 3.6 创建一个 新 环境,你可以运行
而不是
这应该可以解决问题。
如果您创建新环境,请务必删除旧的 Pipfile,否则命令将失败。