有关如何为pyenv设置Python版本的任何建议?
E.g。
$ python3
Python 3.6.0 (v3.6.0:41df79263a11, Dec 22 2016, 17:23:13)
$ pyenv local
pyenv: no local version configured for this directory
$ pyenv local 3.6.0
pyenv: version `3.6.0' not installed
$ pyenv local v3.6.0:41df79263a11
pyenv: version `v3.6.0' not installed
答案 0 :(得分:5)
您需要先设置虚拟环境。例如,您可以通过
创建一个名为pyenv360
的env
$ pyenv virtualenv 3.6.0 pyenv360
并通过
将其设置为文件夹my-folder
的默认python
$ cd my-folder
$ pyenv local pyenv360
通过这样做,无论何时进入此文件夹,它都会开始使用pyenv360
,在这种情况下引用python 3.6.0
。
您可以查看它是否正在使用:
$ pyenv local
应显示pyenv360
。
答案 1 :(得分:2)
概述
“ pyenv”具有设置“本地”和“全局”版本的功能,
其中“本地”是我们为特定目录设置的版本,如果您位于该目录或其子目录中的任何子目录中(如果未为该子目录设置另一个“本地”),它将自动被激活
而'global'是我们在整个系统上设置的版本,可用于任何目录(如果未为该目录设置本地版本,则本地版本将在该目录中可用)
如何设置“全局”和“本地”
现在要设置python的“全局”或“本地”版本,该python版本应该安装在您的系统中,无论是使用的“ os”还是“ pyenv”。 根本不需要创建虚拟环境。
通过“ pyenv”安装任何版本
查看输出
pyenv install --list
选择名称之一(例如3.6.0)并使用命令
pyenv install <version-name>
请注意,由os安装的python版本被“ pyenv”称为“系统”,而由“ pyenv”安装的版本将由该python版本的版本号表示。
要查看pyenv安装的所有版本,请使用pyenv versions
现在要问如何设置全局版本和本地版本的问题,使用
pyenv global <version-name-as used-by-pyenv>
(必须安装该版本)
设置全局版本
并设置本地python, 首先,转到要在其中设置本地版本的目录, 然后
pyenv local <version-name-as used-by-pyenv>
问题是我在ubuntu 20.04和Linux Mint 20中遇到了
现在,由于“ pyenv”无法访问“系统” python,有时无法访问它,并且@ivan_pozdeev很好地解释了原因,但是我想解决我在ubuntu 20.04和Linux mint 20中遇到的有线问题。 (因为它基于ubuntu 20.04)。
在这里,即使系统python二进制文件位于pyenv的路径中,我也无法访问系统python。
错误是
pyenv: system version not found in PATH
原因:pyenv找不到“系统”,因为pyenv在路径(即“ / usr / bin”)和ubuntu 20.04中寻找名称为“ python”而不是“ python3”的二进制文件python二进制文件的名称为“ python3”,而不是“ python”
解决方案:解决方案是在“ / usr / bin”中为名为“ python”的“ python3”创建符号链接,并且使用的命令是
sudo ln -s /usr/bin/python3 /usr/bin/python
答案 2 :(得分:0)
(假设您已经按照官方说明安装了pyenv
。)
pyenv
可以识别两种Python安装:
system
-PATH
中的Python可执行文件,无论其版本如何pyenv install
下的$PYENV_ROOT/versions
pyenv
在其控制范围之外考虑了以前的安装,因此在查找特定版本时,其命令不会考虑其版本。
要从pyenv
的POV中找出您的python3
是指哪个安装,请检查
pyenv versions
which python3
(如果前者指向pyenv which python3
,则<pyenv root>/shims/
)
$PYENV_ROOT
如果您的3.6.0安装确实不在pyenv
的控制范围内,则需要使用pyenv local system
进行选择,并自行确保PATH
的位置指向
PATH
首先指向<pyenv_root>/shims
,然后指向正确的python3
which -a python3
快速检查一下