这篇指南将分为几个部分,你可以根据自己的需求跳转阅读:

- 基础环境准备:更新系统、安装编译工具和依赖。
- Python 安装与管理:推荐使用
pyenv进行多版本管理。 - 虚拟环境管理:使用
venv或virtualenv隔离项目依赖。 - 核心开发工具安装:代码编辑器 VS Code 的详细配置。
- 进阶工具推荐:包管理、代码格式化、类型检查等。
- 一个完整的开发工作流示例。
基础环境准备
在安装 Python 之前,确保你的系统是最新的,并且安装了编译 Python 所需的基本工具。
打开终端,执行以下命令:
# 更新软件包列表 sudo apt update # 升级已安装的软件包 sudo apt upgrade -y # 安装编译 Python 和一些常用包所需的工具 sudo apt install -y build-essential libssl-dev libffi-dev python3-dev
build-essential: 包含了gcc,make等基本编译工具。libssl-dev,libffi-dev,python3-dev: 这些是 Python 一些常用库(如cryptography,ctypes)编译时需要的头文件。
Python 安装与管理
Ubuntu 自带了 Python 3(通常是 3.8 或 3.10),但版本可能不是最新的,或者你可能需要同时管理多个 Python 版本。强烈推荐使用 pyenv 来管理 Python 版本。
pyenv 是一个简单的 Python 版本管理工具,它允许你轻松地在多个 Python 版本之间切换,而不会影响系统的 Python 环境。

安装 pyenv 和依赖
# 安装 pyenv 的依赖 sudo apt update sudo apt install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev # 使用 curl 安装 pyenv curl https://pyenv.run | bash
配置 Shell 环境
安装完成后,你需要将 pyenv 添加到你的 Shell 配置文件中(.bashrc 或 .zshrc)。
# 将以下命令添加到你的 Shell 配置文件中 echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc # 重新加载 Shell 配置文件以使更改生效 source ~/.bashrc
提示: 如果你使用的是 Zsh,请将
~/.bashrc替换为~/.zshrc。
安装 Python 版本
现在你可以使用 pyenv 安装你想要的任何 Python 版本了,安装最新的稳定版 Python 3.12:
# 安装 Python 3.12 (这可能会花费一些时间) pyenv install 3.12.0 # 查看所有已安装的 Python 版本 pyenv versions # * system (set by /home/your_user/.pyenv/version) # 3.12.0 # 设置全局默认 Python 版本 pyenv global 3.12.0 # 验证 Python 版本 python --version # Python 3.12.0 # 验证 pip 版本 pip --version
虚拟环境管理
虚拟环境是 Python 开发的基石,它能创建一个独立的、隔离的环境,避免不同项目之间的库版本冲突。

venv vs virtualenv
venv: Python 3.3+ 内置的标准库,无需额外安装。virtualenv: 第三方库,功能更丰富,但现在venv已经足够强大。
我们推荐使用内置的 venv。
创建和激活虚拟环境
假设你的项目文件夹是 my_project。
# 1. 创建项目目录并进入 mkdir my_project cd my_project # 2. 创建一个名为 'venv' 的虚拟环境 # pyenv 会自动使用你设置的 global Python 版本 python -m venv venv # 3. 激活虚拟环境 source venv/bin/activate # 激活后,你的终端提示符前面会出现 (venv) (venv) user@ubuntu:~/my_project$ # 4. 在虚拟环境中安装包 pip install requests numpy # 5. 退出虚拟环境 deactivate
核心开发工具:VS Code 配置
Visual Studio Code (VS Code) 是目前最受欢迎的免费代码编辑器,对 Python 开发支持极佳。
安装 VS Code
-
从 VS Code 官网 下载
.deb安装包。 -
或者使用命令行安装:
# 下载 GPG 密钥 wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list # 更新并安装 sudo apt update sudo apt install -y code
安装 Python 扩展
- 打开 VS Code。
- 点击左侧活动栏的“扩展”图标(或按
Ctrl+Shift+X)。 - 在搜索框中输入
Python。 - 找到由 Microsoft 发布的扩展,点击“安装”。
配置 VS Code 使用 pyenv 和虚拟环境
VS Code 非常智能,通常会自动检测到你激活的虚拟环境,但为了确保万无一失,你可以手动选择解释器。
- 打开你的项目文件夹 (
my_project)。 - 按
Ctrl+Shift+P打开命令面板。 - 输入并选择
Python: Select Interpreter。 - 在弹出的列表中,你应该能看到你的虚拟环境路径(
.../my_project/venv/bin/python),选择它。 - VS Code 窗口右下角会显示当前选择的 Python 版本,VS Code 会自动使用虚拟环境中的
pip。
进阶工具推荐
一个专业的开发环境少不了这些工具。
a. 包管理与依赖文件 (pip & pip-tools)
pip: Python 的标准包安装器。requirements.txt: 用于记录项目依赖的文件。
# 在虚拟环境中安装你的包 pip install pandas flask # 将所有依赖及其精确版本保存到 requirements.txt pip freeze > requirements.txt # 从 requirements.txt 安装所有依赖 pip install -r requirements.txt
进阶选择: pip-tools
pip-tools 可以更好地管理依赖,避免版本冲突。
# 安装 pip-tools pip install pip-tools # 在你的项目中创建一个 requirements.in 文件 # requirements.in: # pandas>=1.0 # flask # 编译出精确的 requirements.txt pip-compile requirements.in # 这会生成一个 requirements.txt 文件,包含所有依赖的精确版本。 # 当你更新 requirements.in 后,再次运行 pip-compile 即可。
b. 代码格式化 (Black & isort)
保持代码风格统一,减少团队协作成本。
Black: 不可配置的代码格式化工具,"格式即 opinionated"。isort: 专门用于import语句的排序。
# 安装 pip install black isort # 格式化当前目录下所有 Python 文件 black . # 对 import 语句进行排序 isort .
VS Code 集成:
安装 Python 扩展后,它会推荐安装 Black 和 isort,安装后,在 VS Code 的 settings.json (Ctrl+, 打开设置,然后点击 图标) 中添加以下配置,可以保存时自动格式化:
{
"editor.formatOnSave": true,
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
},
"python.sortImports.args": ["--profile", "black"]
}
c. 代码静态检查 (Flake8)
Flake8 是 PyFlakes, pycodestyle 和 McCabe 的集合,用于检查代码中的语法错误、风格问题和圈复杂度。
# 安装 pip install flake8 # 检查当前目录 flake8 .
d. 类型检查 (MyPy)
静态类型检查器,可以在运行前发现类型相关的错误,是大型项目的利器。
# 安装 pip install mypy # 检查代码 mypy your_script.py
一个完整的开发工作流示例
让我们把所有工具串联起来,体验一个现代化的 Python 开发流程。
-
创建项目:
mkdir new_api cd new_api
-
设置 Python 环境:
# 使用 pyenv 确保使用正确的 Python 版本 pyenv local 3.12.0 # 在当前目录创建一个 .python-version 文件 # 创建并激活虚拟环境 python -m venv venv source venv/bin/activate
-
安装依赖:
# 使用 pip-tools 管理依赖 pip install pip-tools # 创建依赖源文件 echo "fastapi>=0.100.0" > requirements.in echo "uvicorn[standard]>=0.20.0" >> requirements.in # 编译出精确的依赖文件 pip-compile requirements.in # 这会生成 requirements.txt
-
编写代码: 在 VS Code 中打开
new_api文件夹,VS Code 会自动检测到.python-version文件并使用正确的 Python 解释器。 创建一个main.py文件,输入一些代码。 -
配置 VS Code: 打开 VS Code 的
settings.json(Ctrl+Shift+P->Preferences: Open Settings (JSON)), 粘贴以下配置:{ "python.linting.enabled": true, "python.linting.flake8Enabled": true, "python.formatting.provider": "black", "editor.formatOnSave": true, "[python]": { "editor.defaultFormatter": "ms-python.black-formatter", "editor.codeActionsOnSave": { "source.organizeImports": true, "source.fixAll.flake8": true } } } -
编码与检查:
- 当你保存代码时 (
Ctrl+S),Black会自动格式化代码,isort会整理import语句。 Flake8会实时在 VS Code 的“问题”面板中显示代码风格问题。- 你可以随时在终端运行
mypy .进行类型检查。
- 当你保存代码时 (
-
运行项目:
# 从编译后的依赖文件安装 pip install -r requirements.txt # 启动 FastAPI 应用 uvicorn main:app --reload
恭喜!现在你拥有了一个在 Ubuntu 上非常专业和高效的 Python 开发环境,这个环境具备以下特点:
- 灵活性: 使用
pyenv轻松切换 Python 版本。 - 隔离性: 使用
venv为每个项目创建独立的依赖空间。 - 高效性: 使用 VS Code 作为强大的 IDE,支持智能提示、调试和集成终端。
- 规范性: 使用
Black,isort,Flake8等工具强制统一的代码风格和质量标准。 - 可维护性: 使用
pip-tools精确管理项目依赖,确保环境一致性。
这个配置组合是许多专业 Python 开发者的标准选择,能够极大地提升你的开发效率和代码质量。
