尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

python-guide 之 Linux 平台 Python 安装全指南:从版本检测到 pip 与虚拟环境

python-guide 之 Linux 平台 Python 安装全指南:从版本检测到 pip 与虚拟环境 python-guide 之 Linux 平台 Python 安装全指南从版本检测到 pip 与虚拟环境【免费下载链接】python-guidePython best practices guidebook, written for humans.项目地址: https://gitcode.com/gh_mirrors/py/python-guide导读本文基于开源项目 python-guideThe Hitchhikers Guide to Python 的《Installing Python on Linux》一章见 docs/starting/install/linux.rst系统讲解在主流 Linux 发行版上安装、验证 Python 的完整流程并深度展开 Setuptools、pip 与虚拟环境virtualenv / virtualenvwrapper的安装与日常使用。读完本文你将掌握如何快速判断系统是否自带 Python 2、如何用发行版包管理器补齐 Python、如何确认与安装 pip以及如何用虚拟环境隔离不同项目的依赖直接服务于真实开发场景。Linux 是 Python 开发者最常用的部署与开发平台之一。不同发行版对 Python 的预装策略差异很大有的开箱即带 Python 2.7有的则默认不装。python-guide 项目专门编写了 Linux 安装指南并配套了 macOS、Windows 以及 Python 3 版 Linux 指南构成一套完整的Properly Installing Python方案总览见 docs/starting/installation.rst。一、先检查系统是否已自带 Python 2最新版本的 CentOS、Red Hat Enterprise LinuxRHEL和 Ubuntu 通常开箱即自带 Python 2.7。确认方式是在终端中执行版本检查命令$ python2 --version如果系统输出类似Python 2.7.5的版本号说明 Python 2 已就绪。注意在同时装有 Python 2 与 Python 3 的系统上裸命令python可能指向 Python 2 解释器因此这里显式使用python2命令名避免歧义。需要特别提醒的是python-guide 项目在 Picking a Python Interpreter3 vs 2 一章中明确建议新项目一律使用 Python 3——Python 2 已于 2020 年 1 月 1 日停止官方维护EOL。本文讲解的 Python 2 安装仅适用于维护遗留代码库等有充分理由的场景全新开发请直接参考 Python 3 on Linux 安装指南。二、未预装 Python 2 的发行版用包管理器补齐随着 Python 3 的普及部分发行版如 Fedora默认不再预装 Python 2。此时可以用发行版自带的包管理器直接安装python2软件包$ sudo dnf install python2以 Fedora 为例dnf会自动解决依赖并安装解释器。若你使用的是 Ubuntu/Debian 系对应命令为$ sudo apt-get install python2提示如果你需要的是 Python 3.6 / 3.8 等较新版本Ubuntu 用户可参考 Python 3 on Linux 指南 中的apt-get与 deadsnakes PPA 方案Fedora 用户则使用sudo dnf install python3并可安装python3.9等软件包获取更新版本。三、为什么还要装 Setuptools 与 pip安装完解释器后Python 本身即可直接使用不需要再配置任何东西。但 python-guide 强烈建议在开始构建真实应用之前务必先安装 Setuptools 和 pip——它们让你能一条命令完成任何合规 Python 软件包的下载、安装与卸载也让你的自有软件以极低成本获得网络安装能力。在 docs/starting/install/linux.rst 中setuptools 与 pip 被描述为最关键的两个第三方 Python 包setuptoolsPython 包构建与分发的基础设施pipPython 官方推荐的包安装器负责从 PyPI 拉取并安装软件包。好消息是Python 2.7.9 及更高版本python2 系列、Python 3.4 及更高版本默认自带 pip。检查 pip 是否可用$ command -v pip若没有任何输出说明 pip 未安装或不在PATH中。此时应按照 pip 官方安装指南安装该过程会自动顺带安装最新版 setuptools。Linux 特有的坑在 Ubuntu 和 Fedora 等发行版上pip命令通常对应 Python 2而pip3才对应 Python 3详见 docs/starting/install3/linux.rst$ command -v pip3不过一旦你开始使用下文介绍的虚拟环境就完全无需再关心这种命令名差异——虚拟环境内pip始终指向环境自身的解释器。四、虚拟环境解决依赖冲突的标准方案虚拟环境Virtual Environment是隔离不同项目依赖的核心工具它为每个项目创建独立的 Python 环境从而解决 项目 X 依赖 1.x而项目 Y 需要 4.x 的经典难题同时保持全局site-packages目录干净、可控。python-guide 举了一个非常直观的例子你可以同时维护一个依赖 Django 1.10 的项目以及另一个依赖 Django 1.8 的项目两者互不干扰。虚拟环境的完整教程见项目文档 Pipenv Virtual Environments下面摘取其核心实操内容。4.1 用 virtualenv 创建隔离环境先通过 pip 安装 virtualenv 并验证$ pip install virtualenv $ virtualenv --version进入项目目录创建虚拟环境$ cd project_folder $ virtualenv venvvirtualenv venv会在当前目录生成一个名为venv的文件夹其中包含独立的 Python 可执行文件以及一份可用于安装其他包的pip副本。环境名可以任意指定省略名称时文件会直接放在当前目录。venv是全球通用的命名约定因为它早已被.gitignore等忽略文件默认排除不会误提交到版本库。你还可以指定特定解释器版本$ virtualenv -p /usr/bin/python2.7 venv4.2 激活与停用环境激活虚拟环境$ source venv/bin/activate激活后提示符左侧会出现环境名如(venv)Your-Computer:project_folder UserName$。此后所有pip install的包都会安装到venv目录内与全局 Python 完全隔离。在虚拟环境内安装依赖与全局无异$ pip install requests工作结束停用环境返回系统默认解释器$ deactivate注意Python 3.3 起标准库已内置venv模块python3 -m venv venv可替代第三方 virtualenv。另外从 virtualenv 1.7 起默认即不包含全局包--no-site-packages为默认行为保证了环境的最小化与可复现性。4.3 冻结依赖让环境可复现为了让团队成员或未来的自己能原样重建环境建议将当前环境的包清单导出$ pip freeze requirements.txtrequirements.txt记录了当前环境中所有包及其精确版本。重建环境时只需$ pip install -r requirements.txt这能有效保证跨安装、跨部署、跨开发者的环境一致性。别忘了把虚拟环境目录加入版本控制的忽略列表。五、virtualenvwrapper让虚拟环境管理更顺手当系统上堆积了越来越多、散落各处的虚拟环境时很容易忘记它们的位置。python-guide 文档docs/dev/virtualenvs.rst推荐使用virtualenvwrapper——它把所有虚拟环境集中放在同一位置并提供一组高层的便捷命令。安装与初始化需先装好 virtualenv$ pip install virtualenvwrapper $ export WORKON_HOME~/Envs $ source /usr/local/bin/virtualenvwrapper.sh基础用法$ mkvirtualenv project_folder # 在 ~/Envs 下创建环境 $ workon project_folder # 激活可 Tab 补全环境名 $ deactivate # 停用 $ rmvirtualenv venv # 删除环境其他高频命令包括lsvirtualenv列出所有环境、cdvirtualenv进入当前环境目录、cdsitepackages直接进入site-packages目录、lssitepackages查看site-packages内容。workon在切换环境时还会自动停用当前环境方便快速切换。六、Linux 安装清单速查综合以上内容一份可直接照做的 Linux 环境搭建清单如下步骤命令Fedora/RHEL 系命令Ubuntu/Debian 系目的1. 检查 Python 2python2 --versionpython2 --version确认是否已预装2. 安装解释器sudo dnf install python2sudo apt-get install python2未预装时补齐3. 检查 pipcommand -v pipcommand -v pip确认包安装器可用4. 安装 virtualenvpip install virtualenvpip install virtualenv建立隔离环境基础5. 创建并激活环境virtualenv venv source venv/bin/activate同左进入项目隔离环境6. 安装依赖并冻结pip install pkg pip freeze requirements.txt同左安装并记录依赖七、进阶指引继续阅读需要 Python 3请直接阅读 Python 3 on Linux 安装指南其中覆盖 Ubuntu 的apt-get、deadsnakes PPA、Fedora 的dnf安装以及python与python3命令名的区别想深入了解依赖管理Pipenv Virtual Environments 提供了从 Pipenv 到 virtualenv 再到 virtualenvwrapper 的完整链路还包含direnv、virtualenv-burrito等进阶工具不确定该用 Python 2 还是 3Picking a Python Interpreter 从 CPython、PyPy、Jython、IronPython 等实现角度给出了决策建议安装完成后还可以继续阅读项目文档中的 写作与项目结构、测试实践、日志 等章节完善你的 Python 开发体系。本文内容整理自 python-guide 仓库文档docs/starting/install/linux.rst、docs/starting/install3/linux.rst、docs/dev/virtualenvs.rst、docs/starting/which-python.rst。部分说明基于文档所述的时代背景如 Python 2 EOL、virtualenv 1.7 默认行为在具体版本环境中的表现请以你所安装的工具版本实际行为为准。【免费下载链接】python-guidePython best practices guidebook, written for humans.项目地址: https://gitcode.com/gh_mirrors/py/python-guide创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表