我有一个包含许多文件夹的git存储库,其中一个是可使用pip安装的python模块,如下所示:
repo.git/
repo.git/folder1/
repo.git/folder2/
repo.git/mymodule/
repo.git/mymodule/\uuuu init\uuuuuu.py
repo.git/mymodule/setup.py
repo.git/mymodule/。。。
现在,我必须执行以下操作才能安装:
git克隆http://server/repo.git
cd回购
pip安装mymodule
光盘
rm-rf回购
是否可以直接使用pip安装模块,而无需显式克隆
我试过:
pip安装git+https://server/repo.git/mymodule/
pip安装git+https://server/repo.git:mymodule/
但我得到:
IOError:[Errno 2]没有这样的文件或目录:'/tmp/pip-88tlLm-build/setup.py'
有一个关于这个特性的请求,一个月前它似乎已经被合并来开发分支。语法如下所示:
pip安装-e git+https://git.repo/some_repo.git#egg=version_subpkg&subdirectory=repo#从repo子目录安装python包
我们可能需要等待一段时间,直到它被合并到master并被分发
更新:现在可在https://pip.pypa.io/en/stable/cli/pip_install/#vcs-支持如下:
对于setup.py不在项目根目录中的项目,
&引用;“子目录”;使用组件。“的价值”;“子目录”;组成部分
应该是从项目根目录开始到setup.py所在位置的路径
位于因此,如果您的存储库布局为:
-pkg\u dir/ -setup.py#setup.py用于包``pkg`` -一些_module.py -其他主任/ -一些文件 -一些其他文件你需要使用
pip安装-e vcs+protocol://repo_url/#egg=pkg&子目录=pkg_dir
注意:在Windows上,您必须将URL放在双引号中,否则您将得到一个错误";’子目录“未被识别为内部或外部命令”;。例如,使用:
pip安装-e";风投+protocol://repo_url#egg=pkg&子目录=pkg_dir";