系统 python 版本激活而不是本地 pyenv 版本
System python version active instead of local pyenv version
如何检查激活虚拟环境后是否使用了正确的python版本?我尝试了 which python3 和 which python 但两个输出都指示系统 python 版本而不是本地 pyenv 版本。是否仍在使用我的本地版本,还是我的安装有问题?
这是命令行输出。
Documents/DataStuff/pdf_tools via v3.9.5
❯ python --version
zsh: command not found: python
Documents/DataStuff/pdf_tools via v3.9.5
❯ python3 --version
Python 3.9.5
Documents/DataStuff/pdf_tools via v3.9.5
❯ pyenv global
3.8.5
Documents/DataStuff/pdf_tools via v3.9.5
❯ pyenv local
3.7.5
Documents/DataStuff/pdf_tools via v3.9.5
❯ python3 -m venv .venv
Documents/DataStuff/pdf_tools via v3.9.5 took 31s
❯ source .venv/bin/activate
(.venv)
Documents/DataStuff/pdf_tools via v3.9.5 (.venv)
❯ which python
/mnt/c/Users/Saša/Documents/DataStuff/pdf_tools/.venv/bin/python
(.venv)
Documents/DataStuff/pdf_tools via v3.9.5 (.venv)
❯ python --version
Python 3.9.5
(.venv)
Documents/DataStuff/pdf_tools via v3.9.5 (.venv)
❯ python3 --version
Python 3.9.5
(.venv)
这是一些系统信息:
系统:windows-linux-subsystem2
包管理器:Homebrew 3.1.5
Python版本:3.9.5
Pyenv 版本:1.2.27
安装步骤:
- 通过自制软件安装 python 和 pyenv。
brew install python-tk@3.9
brew install pyenv
- 通过 pyenv 安装 python 版本 3.7.5 和 3.8.5。
pyenv install 3.7.5
pyenv install 3.8.5
- 将pyenv全局设置为3.8.5(尚不支持3.9.5),本地设置为3.7.5
pyenv global 3.8.5
pyenv local 3.7.5
- 创建虚拟环境
python3 -m venv .venv
- 激活虚拟环境
source .venv/bin/activate
我会尽量给你一个彻底的演练。
如何使用pyenv global/local
解析python
- 我正在处理一个空文件夹
~/py-version-example/
- 我使用
pyenv
(版本 1.2.26
)来管理我系统中 Python 的所有多个安装
py-version-example $ pyenv --version
pyenv 1.2.26
- 目前,我有以下版本的 Python 可供
pyenv
在我的项目中“设置”
- 版本
3.9.2
被 pyenv global
配置为默认版本
- 此版本号存储在“全局”文件中
~/.pyenv/version
py-version-example $ pyenv versions
system
* 3.9.2 (set by /Users/***/.pyenv/version)
3.9.3
3.9.4
miniforge3-4.9.2
- 由于这是一个全新的项目,
pyenv
没有设置 Python 的 local
版本
- 但是,根据上面的
pyenv global
,Python“可见”的版本将是 3.9.2
- 此版本的 Python 解释器由
pyenv
安装和管理的填充程序解析
py-version-example $ pyenv local
pyenv: no local version configured for this directory
py-version-example $ pyenv global
3.9.2
py-version-example $ python -V
Python 3.9.2
py-version-example $ which python
/Users/***/.pyenv/shims/python
py-version-example $ pyenv version
3.9.2 (set by /Users/***/.pyenv/version)
设置新项目
- 现在我要将 Python 的
local
版本设置为 3.9.4
。
- 您会看到将使用完全相同的垫片 (
/Users/***/.pyenv/shims/python
)
- 但是,这次版本将从项目文件夹中的文件
.python-version
中获取:
py-version-example $ pyenv local 3.9.4
py-version-example $ pyenv local
3.9.4
py-version-example $ python -V
Python 3.9.4
py-version-example $ which python
/Users/***/.pyenv/shims/python
py-version-example $ pyenv version
3.9.4 (set by /Users/***/py-version-example/.python-version)
设置虚拟环境
- 现在我要在我的项目文件夹中设置并激活一个新的虚拟环境
- 根据上述所有项目,此虚拟环境将从
local
“继承”版本 3.9.4
- 然而,这次你应该看到 Python 解释器来自虚拟环境,不再来自
pyenv
shim:
py-version-example $ python -m venv .venv
py-version-example $ source .venv/bin/activate
(.venv) py-version-example $ python -V
Python 3.9.4
(.venv) py-version-example $ which python
/Users/***/py-version-example/.venv/bin/python
如何检查激活虚拟环境后是否使用了正确的python版本?我尝试了 which python3 和 which python 但两个输出都指示系统 python 版本而不是本地 pyenv 版本。是否仍在使用我的本地版本,还是我的安装有问题?
这是命令行输出。
Documents/DataStuff/pdf_tools via v3.9.5
❯ python --version
zsh: command not found: python
Documents/DataStuff/pdf_tools via v3.9.5
❯ python3 --version
Python 3.9.5
Documents/DataStuff/pdf_tools via v3.9.5
❯ pyenv global
3.8.5
Documents/DataStuff/pdf_tools via v3.9.5
❯ pyenv local
3.7.5
Documents/DataStuff/pdf_tools via v3.9.5
❯ python3 -m venv .venv
Documents/DataStuff/pdf_tools via v3.9.5 took 31s
❯ source .venv/bin/activate
(.venv)
Documents/DataStuff/pdf_tools via v3.9.5 (.venv)
❯ which python
/mnt/c/Users/Saša/Documents/DataStuff/pdf_tools/.venv/bin/python
(.venv)
Documents/DataStuff/pdf_tools via v3.9.5 (.venv)
❯ python --version
Python 3.9.5
(.venv)
Documents/DataStuff/pdf_tools via v3.9.5 (.venv)
❯ python3 --version
Python 3.9.5
(.venv)
这是一些系统信息:
系统:windows-linux-subsystem2
包管理器:Homebrew 3.1.5
Python版本:3.9.5
Pyenv 版本:1.2.27
安装步骤:
- 通过自制软件安装 python 和 pyenv。
brew install python-tk@3.9
brew install pyenv
- 通过 pyenv 安装 python 版本 3.7.5 和 3.8.5。
pyenv install 3.7.5
pyenv install 3.8.5
- 将pyenv全局设置为3.8.5(尚不支持3.9.5),本地设置为3.7.5
pyenv global 3.8.5
pyenv local 3.7.5
- 创建虚拟环境
python3 -m venv .venv
- 激活虚拟环境
source .venv/bin/activate
我会尽量给你一个彻底的演练。
如何使用pyenv global/local
解析python
- 我正在处理一个空文件夹
~/py-version-example/
- 我使用
pyenv
(版本1.2.26
)来管理我系统中 Python 的所有多个安装
py-version-example $ pyenv --version
pyenv 1.2.26
- 目前,我有以下版本的 Python 可供
pyenv
在我的项目中“设置” - 版本
3.9.2
被pyenv global
配置为默认版本
- 此版本号存储在“全局”文件中
~/.pyenv/version
py-version-example $ pyenv versions
system
* 3.9.2 (set by /Users/***/.pyenv/version)
3.9.3
3.9.4
miniforge3-4.9.2
- 由于这是一个全新的项目,
pyenv
没有设置 Python 的 - 但是,根据上面的
pyenv global
,Python“可见”的版本将是3.9.2
- 此版本的 Python 解释器由
pyenv
安装和管理的填充程序解析
local
版本
py-version-example $ pyenv local
pyenv: no local version configured for this directory
py-version-example $ pyenv global
3.9.2
py-version-example $ python -V
Python 3.9.2
py-version-example $ which python
/Users/***/.pyenv/shims/python
py-version-example $ pyenv version
3.9.2 (set by /Users/***/.pyenv/version)
设置新项目
- 现在我要将 Python 的
local
版本设置为3.9.4
。 - 您会看到将使用完全相同的垫片 (
/Users/***/.pyenv/shims/python
) - 但是,这次版本将从项目文件夹中的文件
.python-version
中获取:
py-version-example $ pyenv local 3.9.4
py-version-example $ pyenv local
3.9.4
py-version-example $ python -V
Python 3.9.4
py-version-example $ which python
/Users/***/.pyenv/shims/python
py-version-example $ pyenv version
3.9.4 (set by /Users/***/py-version-example/.python-version)
设置虚拟环境
- 现在我要在我的项目文件夹中设置并激活一个新的虚拟环境
- 根据上述所有项目,此虚拟环境将从
local
“继承”版本 - 然而,这次你应该看到 Python 解释器来自虚拟环境,不再来自
pyenv
shim:
3.9.4
py-version-example $ python -m venv .venv
py-version-example $ source .venv/bin/activate
(.venv) py-version-example $ python -V
Python 3.9.4
(.venv) py-version-example $ which python
/Users/***/py-version-example/.venv/bin/python