首页 > 编程笔记 > Python笔记

如何在开发期间安装测试Python程序包?

使用 setuptools 主要是用于构建并分发包,但是我们仍然需要知道如何使用它们直接从项目源代码安装包,因为在向 PyPI 提交包之前,我们需要测试一下自己的打包代码是否正常工作,而最简单的测试方法就是安装它。

如果你将坏的软件包发送到仓库中,那么需要增加版本号才能重新上传。因此,在最终发行版之前测试打包代码是否被正确打包,可以避免不必要的版本号增加,当然也可以节省时间。

此外,在同时处理多个相关的包时,使用 setuptools 直接从自己的源代码安装有时也是必要的。

Python安装和卸载程序包

通过执行Python setup.py install命令(执行此命令时,所在目录需位于包目录下),可以将包安装到 Python 环境中。如果之前没有构建过的话,它会尝试构建包,然后将结果注入到 Python 树中。

如果提供了源代码发行版,那么可以在临时文件夹中将其解压,然后用这个命令安装。除此之外,install 命令还将安装在 install_requires 元数据中定义的依赖,这是通过查看 Python 包索引上的包来完成的。

除了使用 setup.py 脚本安装包,还可以使用 pip 命令,它是 PyPA 推荐的工具,即使在本地环境为了开发而安装时,也可以使用它。

使用 pip 命令从本地源代码中安装一个包,可以运行下面这个命令:

pip install 包路径


值得一提的是,setuptools 和 distutils 都没有 uninstall (卸载)命令,而使用 pip 可以卸载任何 Python 包,命令格式如下:

pip uninstall 包名

注意,在系统级的包上尝试卸载操作可能很危险,这也是为什么使用虚拟环境进行开发很重要的另一个原因。

Python开发过程中安装程序包

使用 setup.py 安装的包会被复制到当前环境的 site-packages 目录下,这意味着,一旦我们修改了包的源代码,就需要重新安装它。

这常常是集中开发过程中的一个问题,因为很容易忘记需要再次执行安装,这就是为什么 setuptools 提供了一个额外的 develop 命令的重要原因。

develop 命令的完整格式为Python setup.py develop,该命令允许我们在开发模式下安装包,它会在部署目录(site-packages)时创建一个指向项目源代码的特殊链接,而不是将整个包复制过去,从而实现在编辑包的源代码之后无需再重新安装,并且它在 sys.path 中可用,就像正常安装一样。

pip 也支持用这种模式来安装包,这个安装选项叫作可编辑模式,可 以使用 install 命令的 -e 参数来启用,代码格式如下:

pip install -e 包路径

所有教程

优秀文章