pip install git(pip直接安装git上的项目)

1. 示例

我有一个没有发布到PyPI源上的python包(主要有一个setup文件就行),位置在git上,我希望以pip install的方式安装,一步解决,而不是先git clone,再转到对应目录,进行安装。

通常的安装

# 两步走的安装(安装完还需要自己删除git文件)
git clone http://127.0.0.1/XXX/demo.git
#change dir
cd demo
# install
python setup.py install --user
# windows环境下加--user 不然容易报错

简化/更方便的安装

pip install git+http://127.0.0.1/xxx/demo.git --user

2. 参考:

stack-overflow: pip install from git repo branch
官方文档:pip document:直接页面搜索git

在这里插入图片描述

VCS Support
pip可以支持git这种安装方式是因为pip支持VCS协议( version control systems 版本控制系统),只要满足特定格式就可以支持了

pip install git+

在这里插入图片描述

3. pip install git XXX命令放入用户名和密码

对于git ,默认中间会暂停,让输入用户名和密码等,或者已经配置了ssh。
但是在某些场景下,比如构建dockerfile时,因为dockerfile属于一个不可中断的脚本执行过程,所以中间使用gitlab或github上的项目时,没有办法输入用户名和密码,所以无法访问。

3.1 gitlab

这就涉及到pip安装私有包,查看gitlab的文档Installing Private Python Packages

正确的形式应该是:

git+https://${GITLAB_TOKEN_USER}:${GITLAB_TOKEN}@gitlab.com/user/project.git@{version}

写出来类似:

git+http://huangs:[email protected]:8080/huangs/repo.git

对于gitlab,需要根据Creating a Deploy token设置一个该项目的部署token(在里面可以设置username(huangs))

3.2 git clone命令中包含用户名密码/token

github使用git clone

在这里插入图片描述

简单来说:如果不想暴露密码,可以使用

git clone https://[email protected]/username/repository.git

但是如果处于一个批处理脚本中,必须要输入密码,可以

git clone https://username:[email protected]/username/repository.git

这里有个问题要注意,用户名是啥,看下图就懂了

在这里插入图片描述
最好使用用户名,不要使用邮箱,不然因为邮箱含有@符号,可能需要加入转义符之类的。会比较麻烦 

参考:

gitbook形式的文档:Installing Private Python Packages
stack overflow:Is it possible to use pip to install a package from a private GitHub repository?Git Clone 命令指定用户名密码
stack overflow:How do I provide a username and password when running “git clone [email protected]”?
————————————————
版权声明:本文为CSDN博主「吨吨不打野」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Castlehe/article/details/119532679

猜你喜欢

转载自blog.csdn.net/dou3516/article/details/121740303