广泛使用pip.main()的可调用pip补丁
callable-pip的Python项目详细描述
可调用pip
callable-pip为pip.main()提供了一个替换项和支持 用于通过已知的危险方法修补pip.main。
pip.main()从来不是pip的公共支持的api,但它已经 经常这样使用。这个小小的包裹是用来填补空白和缓解 人们对新用法的转变。
替换pip.main
这种用法总是保证在任何受支持的python版本上都可以使用 任何运行中的pip版本。
不要使用pip.main(...),而是使用此方法:
import callable_pip callable_pip.main('install', '--upgrade', 'setuptools')
如果您正在编写一个python程序,您可以使用callable_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.python.org/3/library/site.html
如果卸载callable_pip或python,请记住删除这些修补程序 将无法启动。
使用sitecommize.py应用修补程序
^ tt18}$可以存在于^ {tt22}$中的任何地方,包括 调用python的目录。
添加包含以下内容的sitecustomize.py,或将其附加到 现有的^ {TT18} $:
import callable_pip callable_pip.dangerous_patch()
使用.pth文件应用修补程序
.pth文件可以有任何名称,但必须安装在 site-packages目录。因此,它可能需要根或其他提升 要添加的权限。
添加包含以下内容的文件,例如callable_pip.pth:
import callable_pip; callable_pip.dangerous_patch()
文档
所有文档都在这个自述文档中。
错误和问题报告
在此处提交所有错误报告和问题: https://github.com/sirosen/callable-pip/issues