callable-pip对pip.main()的广泛应用进行了修补
项目描述
callable-pip
callable-pip 为 pip.main() 提供了即插即用的替代方案,并支持通过已知危险的方法对 pip.main 进行猴子补丁。
pip.main() 从未是 pip 的公开支持的API,但它经常被用作这样的API。这个小巧的包旨在填补这一空白并帮助人们轻松过渡到新的用法。
pip.main的即插即用替代方案
此用法在所有受支持的Python版本和任何功能正常的 pip 版本上都可以保证始终有效。
而不是使用 pip.main(...),请使用此方法代替
import callable_pip callable_pip.main('install', '--upgrade', 'setuptools')
如果您正在编写Python程序,您可以直接使用 callable_pip.main()。这是唯一保证安全的使用方法。
修补pip.main
callable-pip 提供了一个补丁,该补丁将 pip.main() 返回到 pip,但它是危险的,并且已知在某些版本的 pip 上无法工作。
import callable_pip callable_pip.dangerous_patch() ... import pip pip.main('--version') # actually invokes callable_pip.main()
如果您有使用 pip.main 的依赖项,您可以自己调用 callable_pip.dangerous_patch(),它通常可以工作。
dangerous_patch 被命名为此名称,因为它在所有 pip 版本上并不保证有效,并且它是危险的。尽可能避免使用它。
无源控制的修补
您可能在使用pip.main()的包中是消费者,而这些包的源代码您无法修改或不属于您。以下技术可能对您有所帮助。
有关sitecustomize.py和.pth文件的更多详细信息,请参阅Python文档:https://docs.pythonlang.cn/3/library/site.html
请记得在卸载callable_pip时移除这些补丁,否则Python将无法启动。
使用sitecustomize.py应用补丁
sitecustomize.py可以存在于PYTHONPATH中的任何位置,包括python被调用的目录。
添加以下内容的sitecustomize.py,或者将其追加到现有的sitecustomize.py中
import callable_pip callable_pip.dangerous_patch()
使用.pth文件应用补丁
.pth文件可以取任何您想的名字,但必须安装在site-packages目录中。因此,可能需要root或其他高级权限才能添加。
添加一个文件,例如callable_pip.pth,包含以下内容
import callable_pip; callable_pip.dangerous_patch()
文档
所有文档都在这个readme文档中。
错误和问题报告
请在此提交所有错误报告和问题:[https://github.com/sirosen/callable-pip/issues](https://github.com/sirosen/callable-pip/issues)
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
callable-pip-1.0.0.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0a549d157c9eed81599f0ff19c4981f23d6814902d9ce68408b042178b2a5d3c |
|
MD5 | 31c2b1d86fcb1129d17e0e90380532a7 |
|
BLAKE2b-256 | 3057e003fd728effa09035ac32c5a526267e5c15abcfd58d1b86c2096279abcf |
callable_pip-1.0.0-py2.7.egg的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 11f744e8d82e19facfebc87d3bd578493e57f00882c76621cf05198aaf71242d |
|
MD5 | e23c92c2118d38bbc68d5c4a523e86c5 |
|
BLAKE2b-256 | 77d554b1cb55f4c58d3d38bc8bda16dae3d88c6ca86afd064c3b3f1d9a096163 |