广泛使用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第三方库


热门话题
apache commons 3.1中的java httpClient代理支持   ubuntu 14.04 Java:找不到类Xmx1g   java如何用当前用户的数据填充recyclerview?   java Alter Hibernate事务超时仅用于一种方法?   如果没有pow()、函数或递归,如何在c/c++中使用幂函数   java将html UI与本机安卓应用程序相结合   创建GridPane子项时发生java错误   java在基类构造函数中调用虚方法   客户端重新连接javasocket   具有建议日期的java Open DatePicker   雅加达ee Java ee请求范围和异步   classnotfoundexception无法执行目标组织。科德豪斯。项目<projectname>上的mojo:execmavenplugin:1.6.0:java(defaultcli):   java字符串内容相同,但equals方法返回false   primefaces调度的java问题   java帮助我理解关于实现接口的这一课   java Jsoup在下载页面文本时将所有url分离   java将字符串转换为整数错误   java如何从mapDB数据库中检索数据,而不必每次都重写它?