如何通过pip从GitHub链接安装带额外依赖的Python包?
报错原因
你之前的写法会让pip将[i18n]识别为Git仓库地址的一部分,直接拼接在clone请求的URL中,导致请求非法的仓库地址,触发400错误。
正确解决方法
pip针对Git源安装的场景,要求通过#egg=后缀明确指定包名,你可以把额外依赖的标识直接跟在egg参数对应的包名后面,正确命令如下:
pip install git+https://github.com/mkdocs/mkdocs.git#egg=mkdocs[i18n]
额外注意事项
- 如果你使用的是zsh、fish这类会解析中括号为通配符的shell,需要把整个安装地址用单引号包裹,避免shell提前转义中括号:
pip install 'git+https://github.com/mkdocs/mkdocs.git#egg=mkdocs[i18n]' - 如果需要指定安装特定分支、标签或者commit,只需要在git地址后缀加上对应的标识即可,比如安装main分支的版本:
pip install git+https://github.com/mkdocs/mkdocs.git@main#egg=mkdocs[i18n]
内容的提问来源于stack exchange,提问作者Astariul
相关产品推荐
相关产品推荐

