如何解决Sytem python 版本激活而不是本地 pyenv 版本 如何使用 pyenv global/local 解析 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 global 设置为 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
- 由于这是一个全新的项目,
local
尚未设置 Python 的pyenv
版本 - 但是,根据上面的
pyenv global
,Python“可见”的版本将是3.9.2
- 此版本的 Python 解释器由
pyenv
安装和管理的 shims 解析
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)
建立新项目
- 现在我要将
local
版本的 Python 设置为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)
设置虚拟环境
- 现在我要在我的项目文件夹中设置并激活一个新的虚拟环境
- 根据上述所有项目,此虚拟环境将从
3.9.4
中“继承”版本local
- 但是,这次您应该会看到 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。