第十九章:模块和包-pkgutil:包工具-包的开发版本

本文介绍了在Python中如何处理包的开发版本,特别是在不卸载已安装包的情况下进行修改测试。通过使用pkgutil工具,可以在运行时调整模块的搜索路径,使得开发版本的包能够覆盖已安装的版本,从而方便地进行小规模的修改测试。文中给出了具体的示例,展示了如何在demopkg2包中实现这一操作。
摘要由CSDN通过智能技术生成

19.2.2 包的开发版本
改进一个项目是,开发人员通常需要测试对已安装包的修改。将已安装的版本替换为开发版本可能是个糟糕的想法,因为开发版本不一定正确,而且系统上的其他工具可能会依赖于已安装的包。
可以使用virtualenv或venv在开发环境中配置包的一个完全独立的副本,不过对于小的修改,建立这样一个包含所有依赖包的虚拟环境开销可能太大。
还有另一种选择,对于正在开发的包,可以使用pkgutil修改其中模块的搜索路径。不过,在这种情况下,路径必须逆向设置,以使开发版本会覆盖已安装的版本。给定一个包demopkg2,其中包含一个__init__.py和overloaded.py,正则开发的函数位于demopkg2/overloaded.py,已安装的版本包含:

def func():
    print('This is the installed version of func().')

另外,demopkg2/init.py包含:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值