使用 pipenv 创建 virtualenv 时设置 python 版本
Set python version when creating virtualenv using pipenv
使用使用 Debian 4.14.34-v7+ 的 Raspberry Pi,我试图让 pipenv
设置 Python 3.6.5 作为 [=30= 的默认版本].我首先通过在 Pi 上编译安装 Python 3.6(小时......)。创建 'robot' 目录后,我安装 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.
>>>
如何设置 pipenv
以查找 Python 3.6,当我第一次创建 virtualenv 时?我可以手动进入并编辑 Pipfile,但这似乎违背了 pipenv
为我处理事情的目的。
如果您想更改现有环境的 Python 版本,"Edit the Pipfile" 是正确的方法。
如果您想使用 Python 3.6 创建一个 新 环境,您可以 运行
pipenv install --python 3.6
而不是
pipenv install --three
这应该可以解决问题。
如果您创建新环境,请务必删除旧的 Pipfile,否则命令将失败。
设置 pipenv 时,您可以使用 Python 指定版本:pipenv --python 3.6
,以使用 Python3.6.
编辑 Pipfile
也有效,方法是更改:
[requires]
python_version = "3.6.6"
到您想要的 Python 的特定版本。
如果您完成了所有这些操作,但仍然无法从 pipenv shell
中访问 Python 的正确版本,那么您可能需要检查 .bashrc
文件以确保Python.
的特定版本没有 alias
如果您想为项目创建虚拟环境,上述答案可能不适合您。例如,如果您安装了 python 的多个版本,并且必须像我在下面的示例中那样重命名可执行文件,或者对于同一个项目,您可能希望创建使用不同 python 的虚拟环境] 版本。
为您的项目创建虚拟环境时,您可以更具体地指定 python 可执行文件的路径。
请记住 运行 相对于项目文件夹的以下命令。
pipenv install --python 'C:\Python373\python373.exe'
我建议你两种方法:
pip install --python 3.7 <your desired version number to be replaced>
(这需要安装 asdf 或 pyenv。如果您没有安装它们,请继续阅读!)
- 手动方法。(适用于Linux)(获胜请参考@Ryner的回答!)
从 python.org 下载 python gzip 并将其解压缩到一个文件夹,cd 到它。
点击以下
./configure
make
sudo make install
现在您已经在本地安装了 python 版本,您要做的就是第一步。
pipenv install --python <version-u-installed>
注意:如果无论如何,如果你想卸载,去你执行make的目录,然后简单地点击make uninstall
希望对您有所帮助!编码愉快!
使用使用 Debian 4.14.34-v7+ 的 Raspberry Pi,我试图让 pipenv
设置 Python 3.6.5 作为 [=30= 的默认版本].我首先通过在 Pi 上编译安装 Python 3.6(小时......)。创建 'robot' 目录后,我安装 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.
>>>
如何设置 pipenv
以查找 Python 3.6,当我第一次创建 virtualenv 时?我可以手动进入并编辑 Pipfile,但这似乎违背了 pipenv
为我处理事情的目的。
"Edit the Pipfile" 是正确的方法。
如果您想使用 Python 3.6 创建一个 新 环境,您可以 运行
pipenv install --python 3.6
而不是
pipenv install --three
这应该可以解决问题。
如果您创建新环境,请务必删除旧的 Pipfile,否则命令将失败。
设置 pipenv 时,您可以使用 Python 指定版本:pipenv --python 3.6
,以使用 Python3.6.
编辑 Pipfile
也有效,方法是更改:
[requires]
python_version = "3.6.6"
到您想要的 Python 的特定版本。
如果您完成了所有这些操作,但仍然无法从 pipenv shell
中访问 Python 的正确版本,那么您可能需要检查 .bashrc
文件以确保Python.
alias
如果您想为项目创建虚拟环境,上述答案可能不适合您。例如,如果您安装了 python 的多个版本,并且必须像我在下面的示例中那样重命名可执行文件,或者对于同一个项目,您可能希望创建使用不同 python 的虚拟环境] 版本。
为您的项目创建虚拟环境时,您可以更具体地指定 python 可执行文件的路径。
请记住 运行 相对于项目文件夹的以下命令。
pipenv install --python 'C:\Python373\python373.exe'
我建议你两种方法:
pip install --python 3.7 <your desired version number to be replaced>
(这需要安装 asdf 或 pyenv。如果您没有安装它们,请继续阅读!)
- 手动方法。(适用于Linux)(获胜请参考@Ryner的回答!)
从 python.org 下载 python gzip 并将其解压缩到一个文件夹,cd 到它。
点击以下
./configure make sudo make install
现在您已经在本地安装了 python 版本,您要做的就是第一步。
pipenv install --python <version-u-installed>
注意:如果无论如何,如果你想卸载,去你执行make的目录,然后简单地点击make uninstall
希望对您有所帮助!编码愉快!