广泛使用pip.main()的可调用pip补丁

callable-pip的Python项目详细描述


可调用pip

callable-pippip.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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java不可访问配置设计   在java中使用json就像在javascript中一样   java如何屏蔽Android 4.0主密钥   java为什么clickable的预期条件不执行click()?   Azure事件中心:Kafka消费者在java中不轮询任何内容   javajaxb和enum实现接口   java如何在标记下添加ProgressBar和按钮   java如何为对象实现arrayList   使用多重匹配重载java构造方法重载   java使用for循环和if语句搜索帐户   java JPanel在JPanel中添加了顶部填充   IntelliJ将Java项目/模块转换为Maven项目/模块   java如何迭代arraylist中的arraylist   自定义类的java“找不到符号”错误