展开菜单
首页 精品内容 本月促销 装机必备 Windows macOS软件 IOS软件 Android AI PDF教程 专题
全部分类

当前位置:

首页 > 编程开发 > Ubuntu Python版本如何选择与管理

Ubuntu Python版本如何选择与管理

Ubuntu系统预装Python2和3,切勿删除系统Python。项目版本选择需考虑项目要求、依赖兼容性和长期支持。管理方法包括update-alternatives设置系统默认、pyenv实现项目级版本控制、虚拟环境隔离依赖。建议所有项目使用虚拟环境,不动系统Python,备份依赖清单并做好多版本测试。

# Choosing and Managing Python Versions on Ubuntu: A Comprehensive Guide Ubuntu Python版本如何选择与管理 在Ubuntu上选择和管理Python版本,其实是个老生常谈但又很容易踩坑的话题。系统自带的Python版本、项目依赖的版本、第三方库的支持情况——这些因素交织在一起,稍不留神就可能让开发环境变成一团乱麻。下面咱们就把这件事从头到尾捋清楚,看看怎么选、怎么管才能既省心又稳定。 ## 1. 先搞清楚系统自带的Python版本 Ubuntu默认会预装两个Python分支:一个是Python 2(属于历史遗留),另一个是Python 3(现代主力)。想查清楚当前系统里装了什么版本,敲两行命令就行: - 运行 `python --version`,看看默认的Python 2版本是什么(如果系统里还有的话)。 - 运行 `python3 --version`,看看系统默认的Python 3版本(比如3.10或3.11)。 这里必须提个醒:系统工具(比如 `apt`)本身依赖Python 3,所以千万不要手痒去删掉或替换系统自带的Python 3,除非你真的知道自己在干什么。否则系统崩了可别怪我没说。 ## 2. 到底选哪个Python版本给项目用? 版本选择这件事,其实主要看三个因素: - **项目要求**:很多项目会在 `requirements.txt` 或 `setup.py` 里标注最低Python版本,比如 `>=3.8`。照着来就行,别自作主张。 - **依赖兼容性**:像TensorFlow、PyTorch这类重量级库,对Python版本很挑剔。比如TensorFlow在2023年就正式抛弃了Python 3.7,如果你还在用老版本,装都装不上。 - **未来可维护性**:新版本(比如3.11)性能提升明显,还带一堆新特性,但生产环境往往更看重长期支持(LTS)。如果图省心,Python 3.8+是个稳妥的选择——既有现代特性,又有足够的稳定性。 ## 3. 管理Python版本的三种主流方法 Ubuntu上管Python版本,不外乎三种路子。每种适合的场景不同,咱们逐个拆开看。 ### A. 用 `update-alternatives` 设置系统级默认版本 这个工具是Ubuntu自带的,用来切换全局默认的Python版本。如果你的需求很简单——只想要一个统一的Python版本供所有项目使用——那用它最省事。 操作也不复杂:先通过 `apt` 安装你想要的Python版本(比如Python 3.8),然后注册到 `update-alternatives` 里,最后用 `sudo update-alternatives --config python3` 挑选你想要的版本就行了。 不过它的缺点也很明显:只能管全局默认,没法按项目隔离依赖。一个项目用3.8,另一个项目需要3.10?那就得另想办法了。 ### B. 用 `pyenv` 实现项目级版本控制 `pyenv` 是更灵活的工具,它允许你在不同项目目录里使用不同的Python版本,互不干扰。对于同时维护多个项目的开发者来说,这几乎是标配。 安装 `pyenv` 之后,你可以用 `pyenv install --list` 查看所有可安装的版本,然后指定安装。接下来,用 `pyenv global` 设置全局默认,用 `pyenv local` 给某个目录单独指定版本(会在目录下生成一个 `.python-version` 文件)。这样,你在不同项目间切换时,Python版本会自动跟着变。 优势很明显:版本隔离,依赖不打架,而且支持自定义编译参数。唯一的“门槛”是安装配置稍微需要几步,但按官方文档来,一次搞定终身受益。 ### C. 用虚拟环境(virtual environments)隔离依赖 不管用哪种版本管理工具,虚拟环境都是必须的。它让每个项目拥有独立的依赖包,避免“安装A库时升级了B库,结果C项目挂了”这种悲剧。 创建虚拟环境很简单:用 `python3.8 -m venv myenv` 就能基于Python 3.8创建一个隔离环境。激活后(`source myenv/bin/activate`),所有 `pip install` 安装的包都只在这个环境里生效。退出环境用 `deactivate`。 最佳实践是:即使你已经用了 `pyenv` 来管理版本,每个项目依然应该用虚拟环境来管理依赖。两者搭配,才能做到版本和依赖的双重隔离。 ## 4. 几条实用的管理建议 - **所有项目都用虚拟环境**:这是铁律,别偷懒。它能帮你省掉90%的依赖冲突烦恼。 - **别动系统Python**:Ubuntu的很多核心工具依赖系统自带的Python,删掉或替换可能导致系统崩溃。老老实实自己装额外版本。 - **依赖清单要备份**:用 `pip freeze > requirements.txt` 把环境里的包名和版本记下来,方便以后重建。 - **多版本测试不能少**:线上环境最好在项目支持的最老Python版本上跑一遍测试,确保兼容性。新版本带来的性能红利虽好,但稳定才是第一位的。 说到底,Python版本管理这件事,选对工具、养成好习惯,就能少走很多弯路。上面这几招,就能在Ubuntu上把Python版本管得服服帖帖,开发环境想怎么折腾都行。
本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
编程开发
相关文章 更多
精品专题 更多
本月促销

正软商城本月促销专区,汇集办公、设计、安全、影音、系统工具及AI软件等正版软件优惠活动,提供限时折扣、特价授权和优惠购买信息,活动库存及价格以页面实时展示为准。

装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

IOS软件

正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

AI

正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
灵活计算器
灵活计算器

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

图几
图几

图几是一款适用于 macOS 的截图、标注与美化工具,支持离线操作保障隐私。界面整理和高频系统操作被放到一起考虑,桌面或窗口内容一多时,管理起来会更省心。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

Menuist
Menuist

Menuist 是一款面向 macOS 的 Finder 右键菜单增强工具,主要用来补充新建文件、快捷导航等常用操作,让日常文件管理和访问路径时更高效、更顺手。

Mole
Mole

Mole 是一款专为 Mac 设计的深度清理优化工具,涵盖缓存清理、应用管理及实时状态监控等功能。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

WINDOWS 更多
Windows 10
Windows 10

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

傲梅轻松备份
傲梅轻松备份

傲梅轻松备份是一款专业易用的数据备份软件,为重要数据提供安全保障。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

Wise Folder Hider Pro
Wise Folder Hider Pro

Wise Folder Hider Pro 是一款专业级文件和文件夹隐藏加密软件,为私密数据添加多重保护。高频操作更强调就近处理,浏览、整理和跨目录移动文件时,来回切换和重复点击都会少很多。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

PinStack
PinStack

PinStack是一款轻量级的Windows平台剪贴板管理工具,优化您的剪贴板使用体验。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

Seer
Seer

Seer是一款在Win平台下的空格键功能增强效率工具,只需轻敲空格键,就能预览几乎任何格式的文件。它更适合把零散的小功能集中起来使用,处理高频琐碎任务时会更省事。