Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pip install via requirements.txt指定直接GitHub私有回购+;分支名称错误,退出状态为128_Python_Git_Github_Pip_Requirements.txt - Fatal编程技术网

Python pip install via requirements.txt指定直接GitHub私有回购+;分支名称错误,退出状态为128

Python pip install via requirements.txt指定直接GitHub私有回购+;分支名称错误,退出状态为128,python,git,github,pip,requirements.txt,Python,Git,Github,Pip,Requirements.txt,我正在尝试向我的requirements.txt文件中添加一个包,即: 来自私人GitHub回购协议 我是私人回购协议的成员 我已经为私有回购配置了ssh 来自主机以外的分支,其名称中有斜杠 使用ssh协议 互联网上到处都有关于这个话题的问题。以下是关于这一点的建议: pip安装-e“vcs+protocol://repo_url/#egg=pkg&subdirectory=pkg_dir“ 还有一个关于GitHub的答案 git+git://github.com/path/to/pa

我正在尝试向我的
requirements.txt
文件中添加一个包,即:

  • 来自私人GitHub回购协议
    • 我是私人回购协议的成员
    • 我已经为私有回购配置了
      ssh
  • 来自
    主机
    以外的分支,其名称中有斜杠
  • 使用
    ssh
    协议
互联网上到处都有关于这个话题的问题。以下是关于这一点的建议:

pip安装-e“vcs+protocol://repo_url/#egg=pkg&subdirectory=pkg_dir“

还有一个关于GitHub的答案

git+git://github.com/path/to/package-two@master#egg=第二包


尝试方法#1

我试图在我的
requirements.txt
文件中使用此答案:

-e git+ssh://github.com/Organization/repo-name.git@branch/name#egg=foo
我得到一个错误:

ERROR: Command errored out with exit status 128: git clone -q ssh://github.com/Organization/repo-name.git /path/to/venv/src/foo Check the logs for full command output.
当我使用
--log
选项查看日志时:

从/path/to/venv/lib/python3.8/site-packages/pip(python 3.8)使用PIP20.2
非用户安装,因为用户站点包已禁用
已创建临时目录:/private/var/folders/yl/tnzf__856m90wwx0jrqwmhbw0000gn/T/pip ephem wheel cache yysggsvl
已创建临时目录:/private/var/folders/yl/tnzf__856m90wwx0jrqwmhbw0000gn/T/pip-req-tracker-ckqzav7i
在/private/var/folders/yl/tnzf__856m90wwx0jrqwmhbw0000gn/T/pip-req-tracker-ckqzav7i处初始化生成跟踪
已创建生成跟踪器:/private/var/folders/yl/tnzf__856m90wwx0jrqwmhbw0000gn/T/pip-req-tracker-ckqzav7i
已输入构建跟踪器:/private/var/folders/yl/tnzf__856m90wwx0jrqwmhbw0000gn/T/pip-req-tracker-ckqzav7i
已创建临时目录:/private/var/folders/yl/tnzf__856m90wwx0jrqwmhbw0000gn/T/pip-install-c9xw78wg
查看索引:https://pypi.org/simple
从git获取foo+ssh://github.com/Organization/repo-name.git@分支机构/名称#egg=foo(来自-r requirements.txt(第6行))
克隆ssh://github.com/Organization/repo-name.git (至修订分支机构/名称)至./venv/src/foo
错误:命令出错,退出状态为128:git clone-qssh://github.com/Organization/repo-name.git /path/to/venv/src/foo检查日志以获得完整的命令输出。
例外信息:
回溯(最近一次呼叫最后一次):
文件“/path/to/venv/lib/python3.8/site packages/pip/_internal/cli/base_command.py”,第216行,在_main中
status=self.run(选项、参数)
包装器中的文件“/path/to/venv/lib/python3.8/site packages/pip/_internal/cli/req_command.py”,第182行
返回函数(自身、选项、参数)
文件“/path/to/venv/lib/python3.8/site packages/pip/_internal/commands/install.py”,第324行,处于运行状态
需求集合=解析器.resolve(
文件“/path/to/venv/lib/python3.8/site packages/pip/_internal/resolution/legacy/resolver.py”,第183行,在resolve中
发现的需求扩展(自我解决需求集)
文件“/path/to/venv/lib/python3.8/site packages/pip/_internal/resolution/legacy/resolver.py”,第388行,在_resolve_one中
abstract\u dist=self.\u获取(需要安装)的abstract\u dist\u
文件“/path/to/venv/lib/python3.8/site packages/pip/_internal/resolution/legacy/resolver.py”,第326行,位于
返回自我准备人准备可编辑需求(req)
文件“/path/to/venv/lib/python3.8/site packages/pip/_internal/operations/prepare.py”,第523行,在prepare\u editable\u需求中
请求更新\u可编辑(非自行下载\u应保存)
文件“/path/to/venv/lib/python3.8/site packages/pip/_internal/req/req_install.py”,第664行,在update_可编辑文件中
vcs_backend.get(self.source_dir,url=hidden_url)
文件“/path/to/venv/lib/python3.8/site packages/pip/_internal/vcs/versioncontrol.py”,第641行,在获取中
self.fetch\u new(dest、url、rev\u选项)
文件“/path/to/venv/lib/python3.8/site packages/pip/_internal/vcs/git.py”,第230行,在fetch_new中
self.run_命令(make_命令('clone','-q',url,dest))
文件“/path/to/venv/lib/python3.8/site packages/pip/_internal/vcs/versioncontrol.py”,第771行,在run_命令中
返回调用_子进程(cmd、cwd、,
文件“/path/to/venv/lib/python3.8/site packages/pip/_internal/vcs/versioncontrol.py”,第166行,在call_子流程中
引发子流程错误(exc_msg)
pip.\u internal.exceptions.SubProcessError:命令出错,退出状态为128:git clone-qssh://github.com/Organization/repo-name.git /path/to/venv/src/foo检查日志以获得完整的命令输出。
已删除生成跟踪器:“/private/var/folders/yl/tnzf__856m90wwx0jrqwmhbw0000gn/T/pip-req-tracker-ckqzav7i”

尝试方法#2

我尝试的另一种方法是
requirements.txt

-e git+git@github.com:Organization/repo-name.git#egg=foo
此中的克隆实际上有效!它还打印以下警告:
DEPRECATION:此形式的VCS要求已被弃用

不幸的是,我不知道如何以这种格式指定分支名称


我做错了什么?我遗漏了什么吗?

仅供参考,我的版本:

Python==3.8.5
pip==20.2
setuptools==47.1.0

我在这两种情况下都解决了问题……语法


尝试#1

错误:需要说
git@github.com

正确的方法:

-e git+ssh://git@github.com/Organization/repo-name。git@branch/名称#egg=foo

尝试#2

错误:不知道一个人可以使用
@
两次

正确的方法:

-e git+git@github.com:组织/回购名称。git@branch/名称#egg=foo

我遇到了同样的问题,下面是我如何使它工作的:

以下是有关如何安装专用Python包的文档:

我在这里创建了一个Github令牌

在我的
requirements.txt
中,我添加了:

-e git+https://GITHUB_TOKEN_HERE@github.com/user/repository.git#egg=your_module_name

是关于私有回购的吗?我的意思是,为了从私有回购中克隆,您需要权限,即用户/通行证/私钥etc@LutfarRahmanMilu我更新了问题,是的,我