Python 版本繁多,Python 应用需要依赖一些包,版本也不尽相同。在系统级 Python 环境部署应用时难免犯错,因而存在冲突风险。
试想这样的场景:应用 A 、 B 均依赖一个数据库连接包,版本分别是 a 和 b ,两个版本有些不兼容。如果两个应用部署在同个 Python 环境,那么这个包应该安装什么版本呢?
独立部署环境
问题只能通过部署独立的 Python 环境来解决。那么同台机器如何部署多个 Python 环境呢? 甚至是版本不同的 Python 环境?答案是—— virtualenv !
首先,初始化一个新的 Python 环境:
|
|
完成之后,便可启动 Python 解析器了:
|
|
自然也可以用这个独立的环境来跑应用了:
|
|
当然了,也可以指定 Python 版本:
|
|
用 virtualenv 制作独立的 Python 环境,对其任何操作均不影响其他环境。
依赖管理
Python 通过 pip 命令安装依赖包,大家应该都知道:
|
|
依赖包版本也很重要,用了错误版本的包可能导致应用异常。保险起见,装包时指定版本:
|
|
每次部署应用时,检查所有依赖包及版本是否就绪。方法非常简单,直接运行装包命令即可。pip 将确保依赖包以指定版本安装。
此外,最好可以通过配置文件将所有依赖保存下来。pip 命令也支持依赖配置文件 requirements.txt ,内容格式如下:
|
|
这样一来,一个命令就可以完成所有依赖包的安装:
|
|
应用在 requirements.txt 配置文件维护所有依赖包和版本,并通过 pip 命令安装。
【小菜学Python】系列文章首发于公众号【小菜学编程】,敬请关注: