这里介绍如下几个要点:
ubuntu下借助pyenv管理不同版本的python
基于python3自带的venv为需要的项目构建不同的虚拟环境
在VSCode下配置不同的python版本。
环境
使用pyenv管理python以来curl、git,可参考如下表格完成环境准备。
安装不同版本的Python
python依赖基本的库,如ssl等
# 安装核心开发库
sudo apt-get update
sudo apt-get install -y \
libbz2-dev \
libncurses5-dev \
libffi-dev \
libreadline-dev \
libssl-dev \
zlib1g-dev \
libsqlite3-dev \
libgdbm-dev \
uuid-dev \
liblzma-dev \
tk-dev \
libgdbm-compat-dev 然后可以使用pyenv安装不同版本的python
# 查看可安装的版本
pyenv install --list
# 安装特定版本
pyenv install 3.11.4
# 安装时显示详细输出
pyenv install -v 3.13.5如果速度太慢,可使用国内源
# 使用国内镜像
v=3.11.4; wget https://mirrors.ustc.edu.cn/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/
pyenv install $v
# 使用国内镜像
v=3.13.5; wget https://mirrors.ustc.edu.cn/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/
pyenv install $v设定目录下适用的Python版本
Pyenv 按以下顺序决定使用哪个 Python 版本:
PYENV_VERSION环境变量(通过pyenv shell设置)当前目录中的
.python-version文件(通过pyenv local设置)第一个找到的父目录中的
.python-version文件全局版本(通过
pyenv global设置)
# 列出已安装版本
pyenv versions
# 设置全局版本(影响整个系统)
pyenv global 3.9.7
# 设置局部版本(仅当前目录及其子目录有效)
pyenv local 3.8.12
# 设置 shell 临时版本(仅当前会话有效)
pyenv shell 3.7.12常用管理方法
一般使用pyenv管理不同版本的python,项目以来的包则通过python自带的venv来管理。如下
mkdir my-project && cd my-project
pyenv install 3.9.7
pyenv local 3.9.7
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtVSCode指定版本
首先要安装Miscrosoft提供的Python扩展。一般情形下,VSCode会自动按照pyenv设定的版本进行调试。
打开你的项目文件夹VS Code 会自动检测 pyenv 设置的 Python 版本(通过 .python-version 文件)右下角状态栏会显示当前 Python 版本,点击可以切换
也可以手工指定解析器
打开命令面板 (Ctrl+Shift+P)输入并选择 "Python: Select Interpreter"从列表中选择 pyenv 安装的 Python 路径
另外可以使用配置文件指定:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"pythonPath": "${command:python.interpreterPath}"
}
]
}并可以将上文的pythonPath修改为如下:
"pythonPath": "${env:HOME}/.pyenv/versions/3.9.7/bin/python"其他
卸载指定版本
pyenv uninstall 3.11.4查看当前版本
pyenv version重新编译
pyenv rehash