游乐游手机版
首页/编程语言/文章详情

Ubuntu系统Python开发环境搭建详细教程

时间:2026-05-06 21:10
Ubuntu Python 开发环境搭建指南 想在 Ubuntu 上高效地写 Python 代码?一个干净、可控且强大的开发环境是第一步。这份指南将带你从零开始,搭建一个既专业又灵活的工作站,涵盖从基础安装到高级管理的方方面面。 一 基础安装与版本管理 万事开头先更新。打开终端,执行以下命令来确保你

Ubuntu Python 开发环境搭建指南

想在 Ubuntu 上高效地写 Python 代码?一个干净、可控且强大的开发环境是第一步。这份指南将带你从零开始,搭建一个既专业又灵活的工作站,涵盖从基础安装到高级管理的方方面面。

一 基础安装与版本管理

万事开头先更新。打开终端,执行以下命令来确保你的系统包列表是最新的,并升级所有可升级的软件包:

sudo apt update && sudo apt upgrade -y

接下来,安装 Python 开发的核心三件套:Python 解释器、包管理工具 pip 和虚拟环境模块 venv。

sudo apt install -y python3 python3-pip python3-venv

安装完成后,别忘了验证一下。输入 python3 --versionpip3 --version,看到版本号输出,就说明基础环境已经就绪了。

但现实情况往往更复杂。你可能需要运行一个要求特定 Python 3.10 的项目,而系统默认是 3.8。别担心,有两种主流方案可以应对多版本需求:

  • 方案一:使用 deadsnakes PPA 安装特定小版本
    这个方法适合你只需要安装一两个特定版本(比如 3.10),并且不打算频繁切换的场景。操作很直接:
    sudo add-apt-repository ppa:deadsnakes/ppa && sudo apt update
    sudo apt install -y python3.10 python3.10-venv python3.10-dev
    执行后,你就可以通过 python3.10 命令来使用这个特定版本了。
  • 方案二:使用 pyenv 管理多版本
    如果你需要在多个 Python 3.x 版本之间灵活切换,pyenv 是更优雅的选择。它允许你在用户目录下安装和管理任意数量的 Python 版本。
    首先,安装一堆编译依赖(这是为了能顺利编译不同版本的 Python):
    sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
    然后,一键安装 pyenv:
    curl https://pyenv.run | bash
    安装完成后,需要将几行配置添加到你的 Shell 配置文件(比如 ~/.bashrc~/.zshrc)末尾:
    • export PATH="$HOME/.pyenv/bin:$PATH"
    • eval "$(pyenv init --path)"
    • eval "$(pyenv init -)"
    • eval "$(pyenv virtualenv-init -)"

    保存文件后,运行 source ~/.bashrc 让配置生效。
    现在,你就可以自由安装了。例如,安装 Python 3.10.12:pyenv install 3.10.12。之后,用 pyenv global 3.10.12 设置全局默认版本,或者在特定项目目录下用 pyenv local 3.10.12 设定仅对该目录有效的本地版本,实现完美的项目级隔离。

二 虚拟环境与依赖管理

有了 Python 解释器,下一步就是为每个项目创建独立的“沙箱”——虚拟环境。这能确保项目间的依赖互不干扰。

进入你的项目根目录,执行创建命令:

python3 -m venv venv

(如果你通过 deadsnakes 安装了 python3.10,也可以用 python3.10 -m venv venv 来指定基于哪个版本创建。)

创建成功后,激活它:

source venv/bin/activate

你会发现命令行提示符前面多了个 (venv),这表示你已经在这个虚拟环境里了。要退出?很简单,输入 deactivate 即可。

在激活的虚拟环境里,pip 就是你的依赖管理利器。首先,升级 pip 自身是个好习惯:

python -m pip install --upgrade pip

安装项目依赖通常是通过一个 requirements.txt 文件:

pip install -r requirements.txt

那么如何生成这个文件呢?当你配置好当前项目的所有依赖后,运行:

pip freeze > requirements.txt

这个文件应该被纳入版本控制(如 Git),这样你的队友就能一键复现完全相同的环境。

国内用户可能会觉得 pip 下载速度慢,这里有个提速小技巧:配置一个国内的镜像源。只需在用户目录下创建配置文件:

mkdir -p ~/.config/pip
nano ~/.config/pip/pip.conf

然后在文件中写入以下内容(以阿里云镜像为例):

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com

三 开发工具与 IDE

工欲善其事,必先利其器。一个强大的 IDE 能极大提升编码效率。

  • VS Code:轻量且功能强大,通过 Snap 安装非常方便:
    sudo snap install code --classic
    安装后,务必去扩展市场安装微软官方的 “Python” 扩展。之后,按下 Ctrl+Shift+P,输入 “Python: Select Interpreter”,选择你项目虚拟环境中的那个解释器(路径类似 项目路径/venv/bin/python),这样调试和智能提示就都绑定到你的独立环境了。
  • PyCharm:专业的 Python IDE,社区版免费且功能足够强大:
    sudo snap install pycharm-community --classic
    如果你需要更高级的数据库工具、Web 框架支持等,可以考虑通过 JetBrains Toolbox 安装专业版。

四 常见问题与实用建议

走完前面的路,你已经能搭建环境了。但要想走得稳,下面这些经验之谈值得你留意。

  • 切记:不要覆盖系统 Python。Ubuntu 很多系统组件依赖自带的 Python。如果你需要从源码编译安装,务必使用 make altinstall 而非 make install。更推荐的做法是,始终通过 pyenv 或 deadsnakes PPA 来管理额外版本,绝对不要去动 /usr/bin/python3 这个链接。
  • 实现双重隔离:用 pyenv local 为项目固定 Python 解释器版本,再用 venv 隔离项目依赖包。团队协作时,将 .python-version 文件(pyenv 生成)和 requirements.txt 一同提交到代码库,能保证所有人环境一致。
  • 备齐构建工具:在安装某些带有 C 扩展的 Python 包(如 cryptography, pandas 等)时,可能会报编译错误。提前安装好编译环境和头文件可以避免这个问题:sudo apt install python3-dev build-essential libssl-dev 等。
  • 快速环境验证脚本:在你的项目根目录放一个快速检查脚本总是没错的。试试下面这行命令,它能一键输出当前环境的 Python、pip 版本和平台信息:
    python - <<'PY' import sys, pip, platform print("Python:", sys.version) print("pip:", pip.__version__) print("Platform:", platform.platform()) PY
  • 退出与清理
    • 退出虚拟环境:deactivate
    • 删除不再需要的虚拟环境:rm -rf venv(请谨慎操作)
    • 卸载通过 PPA 安装的特定 Python 版本:sudo apt remove --purge python3.10 python3.10-venv python3.10-dev && sudo apt autoremove -y

遵循这份指南,你不仅能搭建出一个高效的 Ubuntu Python 开发环境,更能理解其背后的“为什么”。剩下的,就是开始你的创造之旅了。

来源:https://www.yisu.com/ask/85501389.html
上一篇Ubuntu系统定时运行Java程序的方法与步骤 下一篇Ubuntu系统Python库更新与管理详细教程
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
RecyclerView不显示内容的常见原因及修复
编程语言 · 2026-07-07

RecyclerView不显示内容的常见原因及修复

RecyclerView无数据显示,常见原因为Adapter的getItemCount()返回0。修复方法是将硬编码的0改为动态返回数据大小,如contacts size()。增强版Adapter需实现空安全及刷新支持。其他检查点包括设置布局管理器、避免RecyclerView高度为wrap_content、确保Item布局宽高合理及数据非空验证。

Python一行代码读取多种类型输入
编程语言 · 2026-07-07

Python一行代码读取多种类型输入

使用`map(call,(int,str,int),input() split())`可一行代码解析混合类型输入,实现类型自动转换,比列表推导式更简洁。输入字段数量需与类型元组严格一致,支持封装为`read_types`函数复用。

Java中高效操作对象集合:避免无意义的Map构建
编程语言 · 2026-07-07

Java中高效操作对象集合:避免无意义的Map构建

直接遍历对象集合并访问嵌套字段执行操作,时间复杂度O(n)且无额外内存开销。先构建Map再遍历则增加哈希表初始化、键值插入和二次迭代消耗,数据量大时性能差距显著,应避免此类功能冗余。

BoxLayout仅居中一个组件其余默认对齐的方法
编程语言 · 2026-07-07

BoxLayout仅居中一个组件其余默认对齐的方法

在Swing的BoxLayout(Y_AXIS)中,setAlignmentX无法单独居中组件,因为该布局下所有组件的对齐由容器统一管理。三种可靠方案:嵌套JPanel通过分组隔离可分别设置左对齐和居中;GridBagLayout可独立控制每个组件的对齐方式;RelativeLayout允许组件单独设置其对齐方式。

Avro枚举兼容性:新增值失败原因与正确演进实践
编程语言 · 2026-07-07

Avro枚举兼容性:新增值失败原因与正确演进实践

Avro枚举向后兼容依赖二进制索引映射,JSON序列化因绕过索引机制导致新增符号失败;default仅对字段缺失生效,无法处理未知符号。演进需在末尾追加符号并采用二进制格式,推荐启用SchemaRegistry确保兼容。