杰瑞科技汇

Ubuntu Python开发环境如何搭建?

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

Ubuntu Python开发环境如何搭建?-图1
(图片来源网络,侵删)
  1. 基础环境准备:更新系统、安装编译工具和依赖。
  2. Python 安装与管理:推荐使用 pyenv 进行多版本管理。
  3. 虚拟环境管理:使用 venvvirtualenv 隔离项目依赖。
  4. 核心开发工具安装:代码编辑器 VS Code 的详细配置。
  5. 进阶工具推荐:包管理、代码格式化、类型检查等。
  6. 一个完整的开发工作流示例

基础环境准备

在安装 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 环境。

Ubuntu Python开发环境如何搭建?-图2
(图片来源网络,侵删)

安装 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 开发的基石,它能创建一个独立的、隔离的环境,避免不同项目之间的库版本冲突。

Ubuntu Python开发环境如何搭建?-图3
(图片来源网络,侵删)

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

  1. VS Code 官网 下载 .deb 安装包。

  2. 或者使用命令行安装:

    # 下载 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 扩展

  1. 打开 VS Code。
  2. 点击左侧活动栏的“扩展”图标(或按 Ctrl+Shift+X)。
  3. 在搜索框中输入 Python
  4. 找到由 Microsoft 发布的扩展,点击“安装”。

配置 VS Code 使用 pyenv 和虚拟环境

VS Code 非常智能,通常会自动检测到你激活的虚拟环境,但为了确保万无一失,你可以手动选择解释器。

  1. 打开你的项目文件夹 (my_project)。
  2. Ctrl+Shift+P 打开命令面板。
  3. 输入并选择 Python: Select Interpreter
  4. 在弹出的列表中,你应该能看到你的虚拟环境路径(.../my_project/venv/bin/python),选择它。
  5. 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 扩展后,它会推荐安装 Blackisort,安装后,在 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)

Flake8PyFlakes, pycodestyleMcCabe 的集合,用于检查代码中的语法错误、风格问题和圈复杂度。

# 安装
pip install flake8
# 检查当前目录
flake8 .

d. 类型检查 (MyPy)

静态类型检查器,可以在运行前发现类型相关的错误,是大型项目的利器。

# 安装
pip install mypy
# 检查代码
mypy your_script.py

一个完整的开发工作流示例

让我们把所有工具串联起来,体验一个现代化的 Python 开发流程。

  1. 创建项目:

    mkdir new_api
    cd new_api
  2. 设置 Python 环境:

    # 使用 pyenv 确保使用正确的 Python 版本
    pyenv local 3.12.0 # 在当前目录创建一个 .python-version 文件
    # 创建并激活虚拟环境
    python -m venv venv
    source venv/bin/activate
  3. 安装依赖:

    # 使用 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
  4. 编写代码: 在 VS Code 中打开 new_api 文件夹,VS Code 会自动检测到 .python-version 文件并使用正确的 Python 解释器。 创建一个 main.py 文件,输入一些代码。

  5. 配置 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
            }
        }
    }
  6. 编码与检查:

    • 当你保存代码时 (Ctrl+S),Black 会自动格式化代码,isort 会整理 import 语句。
    • Flake8 会实时在 VS Code 的“问题”面板中显示代码风格问题。
    • 你可以随时在终端运行 mypy . 进行类型检查。
  7. 运行项目:

    # 从编译后的依赖文件安装
    pip install -r requirements.txt
    # 启动 FastAPI 应用
    uvicorn main:app --reload

恭喜!现在你拥有了一个在 Ubuntu 上非常专业和高效的 Python 开发环境,这个环境具备以下特点:

  • 灵活性: 使用 pyenv 轻松切换 Python 版本。
  • 隔离性: 使用 venv 为每个项目创建独立的依赖空间。
  • 高效性: 使用 VS Code 作为强大的 IDE,支持智能提示、调试和集成终端。
  • 规范性: 使用 Black, isort, Flake8 等工具强制统一的代码风格和质量标准。
  • 可维护性: 使用 pip-tools 精确管理项目依赖,确保环境一致性。

这个配置组合是许多专业 Python 开发者的标准选择,能够极大地提升你的开发效率和代码质量。

分享:
扫描分享到社交APP
上一篇
下一篇