在python脚本中使用pip
我正在用python编写一个实用程序,它需要根据用户提供的标志和/或输入检查(如有必要,安装甚至升级)目标项目/virtualenv中的各种其他模块。我目前正试图直接/通过编程使用“pip”(因为它对我需要访问的各种回购类型提供了现有支持),但我很难找到以这种方式使用它的示例或文档 这似乎是要走的方向:在python脚本中使用pip,python,svn,pip,Python,Svn,Pip,我正在用python编写一个实用程序,它需要根据用户提供的标志和/或输入检查(如有必要,安装甚至升级)目标项目/virtualenv中的各种其他模块。我目前正试图直接/通过编程使用“pip”(因为它对我需要访问的各种回购类型提供了现有支持),但我很难找到以这种方式使用它的示例或文档 这似乎是要走的方向: import pip vcs = pip.vcs.VersionControl(url="http://path/to/repo/") …但它没有带来快乐 我需要一些基础知识方面的帮助,比如如
import pip
vcs = pip.vcs.VersionControl(url="http://path/to/repo/")
…但它没有带来快乐
我需要一些基础知识方面的帮助,比如如何使用pip将svn回购的副本拉/导出到给定的本地目录中。最终,我还需要将它用于git和mercurial签出以及标准pypi安装。任何链接、文档或指针都将不胜感激。Pip对vcs URL使用特定格式。格式是
vcsname+url@rev
@rev是可选的,您可以使用它引用特定的提交/标记
要使用pip将存储库从通用vcs检索到本地目录,可以执行以下操作
from pip.vcs import VcsSupport
req_url = 'git+git://url/repo'
dest_path = '/this/is/the/destination'
vcs = VcsSupport()
vc_type, url = req_url.split('+',1)
backend = vcs.get_backend(vc_type)
if backend:
vcs_backend = backend(req_url)
vcs_backend.obtain(dest_path)
else:
print('Not a repository')
检查以了解支持哪些vcs您所说的“没有乐趣”是什么意思?它是否给出错误消息?它不安装吗?它不安装,甚至不返回值。然后,我尝试在vcs对象上使用“获取”方法,但也没有效果——事实上,这确实是个错误。我只需要一些关于它的例子或文档,甚至是这种用法的“最佳实践”。有人吗?即使是简短的“试着读“X”!”,只要X是可访问的,并在这方面有任何光,将不胜感激。上面的链接是断开的(一个无休止的重定向循环),但它并不完全是我所寻找的反正。pip模块的文档在哪里?我找到了pip命令行工具的各种文档,但是没有找到pip模块本身的文档。我已经更新了链接。我想我从来没有读过pip模块的真正文档,我想我检查了源代码(对不起,时间太长了)。是的,我一直在做同样的事情,因为命令行之外的文档实在不多。谢谢你的回复。