Python的开发环境

简介: Python的开发环境在 Python 开发环境中我们能看到很多工具,如 pip 、conda 、poetry 、 virtualenv 、 venv 、 pyenv 等等。他们是什么,都有什么作用,该怎么选择,如何构建一个开发环境,在这篇文章我会尽力全面的阐明,既然全面那么很多细节就无法照顾,感兴趣可以在参考资料中进一步了解。本文将人群分为两类,一类是持保持最新策略的人,希望个人 PC 里所有软件工具都保持最新,想体验最新特性,最新优化等;另一类是持保持稳定策略的人,比如部署在生产环境,不会经常变更版本,防止出现未知依赖问题等。对于这两类人群提供不同的建议。

Python的开发环境

网络异常,图片无法展示
|

在 Python 开发环境中我们能看到很多工具,如 pipcondapoetryvirtualenvvenvpyenv 等等。他们是什么,都有什么作用,该怎么选择,如何构建一个开发环境,在这篇文章我会尽力全面的阐明,既然全面那么很多细节就无法照顾,感兴趣可以在参考资料中进一步了解。本文将人群分为两类,一类是持保持最新策略的人,希望个人 PC 里所有软件工具都保持最新,想体验最新特性,最新优化等;另一类是持保持稳定策略的人,比如部署在生产环境,不会经常变更版本,防止出现未知依赖问题等。对于这两类人群提供不同的建议。

在 Python 开发环境中最常见任务是 Python 版本管理、虚拟环境、包管理、打包发布、安装。

各工具提供功能概览:

  • venv:提供虚拟环境。
  • virtualenv:提供虚拟环境。
  • pyenv:Python 版本管理。
  • conda:提供 Python 版本、虚拟环境、包管理、打包发布(conda)、安装。
  • poetry:虚拟环境相关、包管理、打包发布(标准)、安装。
  • pip:包管理、打包发布(标准)、安装。

若还有其他相关工具,欢迎在评论区推荐。

虚拟环境

虚拟环境包含一份独立的 Python 环境,含独立解释器与库集合(site-packages)。condapoetryvirtualenvvenvpyenv 都有虚拟环境相关的设置。

  • venv 是 Python 标准库支持的虚拟环境创建库。
  • 缺点
  • venv 在 Python 3.5 后推荐使用。
  • 只能创建与主环境 Python 版本一致的虚拟环境。
  • 优点:无需额外下载。
  • 使用:命令行使用简单,功能简单,无法满足复杂需求,但可通过其提供的 API 来编写完成复杂需求。面向第三方虚拟环境创建者。
  • virtualenv 是 Python 第三方库,可以创建独立的虚拟环境。
  • 优点
  • 支持 Python2 和 Python3。
  • 可以为虚拟环境指定本地已有的 Python 版本。
  • 缺点
  • 不支持 Python 版本下载。
  • 依赖 Python。
  • pyenv 是一个第三方工具,可以下载并管理多个 Python 版本。支持全局切换、单项目 Python 版本指定等特性。
  • 缺点
  • 不支持虚拟环境管理,需通过 virtualenvpyenv-virtualenv 来增强其功能。后者还提供管理 conda 环境功能。
  • 安装复杂。Windows 用户使用请使用 pyenv-win。Linux/Mac 用户使用 pyenv
  • 优点:不依赖 Python。
  • conda 支持下载创建不同版本 Python 虚拟环境。
  • 缺点
  • 无法获取最新 Python 版本。
  • 安装复杂。
  • 无法与其他工具保持兼容性。往往需要其他工具来提供对 conda 的兼容性。
  • 优点
  • 使用方便
  • 基本囊括开发环境所需的所有功能。推荐新手与持保持稳定决策的用户使用。
  • poetry 并不提供虚拟环境管理相关功能,只使用虚拟环境。可以使用将虚拟环境放置项目内的方式来创建虚拟环境。poetry 定位是在单项目全面管理,所以与其他工具不太一样。

虚拟环境管理工具推荐

  • 对于持保持最新策略,推荐 pyenv+poetry。(如果只想要虚拟环境管理可以用 pyenv+pyenv-virtualenv)
  • 对于持保持稳定策略,推荐 conda。(同样推荐 poetry 用于单项目管理,conda 用于全局管理)

pyenvconda如果想同时使用,需要再安装pyenv-virtualenv

包管理器

pip、conda、poetry

待更新

打包发布

pip、conda、poetry

待更新

安装

pip、conda、poetry

待更新

总结

待更新

 

__EOF__

 

相关文章
|
6月前
|
NoSQL 关系型数据库 MySQL
centos搭建python2.7开发环境
centos搭建python2.7开发环境
138 0
|
6月前
|
Linux Python
Linux Debian12使用VSCode和Python搭建flask开发环境
本文主要介绍了Linux Debian12使用VSCode和Python搭建flask开发环境的方法,并结合一个基础flask网页例子,测试是否运行正常。
157 2
Linux Debian12使用VSCode和Python搭建flask开发环境
|
6月前
|
存储 计算机视觉 Python
搭建Python-OpenCV开发环境(包括Python、Pycharm、OpenCV下载 图文解释)
搭建Python-OpenCV开发环境(包括Python、Pycharm、OpenCV下载 图文解释)
865 0
|
IDE Java 开发工具
Python快速搭建开发环境
Python快速搭建开发环境
100 2
|
4月前
|
机器学习/深度学习 IDE 开发工具
Python集成开发环境的选择
【7月更文挑战第6天】Python集成开发环境的选择
71 2
|
5月前
|
IDE 安全 开发工具
python开发环境
【6月更文挑战第13天】python开发环境
55 6
|
3月前
|
SQL 关系型数据库 API
Python 开发环境的准备以及一些常用类库模块的安装
在学习和开发Python的时候,第一步的工作就是先准备好开发环境,包括相关常用的插件,以及一些辅助工具,这样我们在后续的开发工作中,才能做到事半功倍。下面介绍一些Python 开发环境的准备以及一些常用类库模块的安装和使用的经验总结,供大家参考了解。
|
3月前
|
Python
Mac安装Python3.12开发环境
Mac安装Python3.12开发环境
142 2
|
3月前
|
开发工具 Python Windows
【Python专栏】搭建Pyhthon运行环境及开发环境 | 安装Python | 安装PyCharm
【Python专栏】搭建Pyhthon运行环境及开发环境 | 安装Python | 安装PyCharm
230 4
|
4月前
|
IDE 数据可视化 安全
Python学习中设置开发环境
【7月更文挑战第26天】
40 2