pip install git(pip 直接在 git 上安装项目)
最编程
2024-03-12 12:26:46
...
文章目录
- 1. 示例
- 2. 参考
- 3. pip install git XXX命令放入用户名和密码
- 3.1 gitlab
- 4. git clone命令中包含用户名密码/token
- 4.1 github使用git clone
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:Hdjfyhwi7KznYT7hpoSsGJ@0.0.0.7:8080/huangs/repo.git
对于gitlab,需要根据Creating a Deploy token设置一个该项目的部署token(在里面可以设置username(huangs))
4. git clone命令中包含用户名密码/token
4.1 github使用git clone
简单来说:如果不想暴露密码,可以使用
git clone https://username@github.com/username/repository.git
但是如果处于一个批处理脚本中,必须要输入密码,可以
git clone https://username:password@github.com/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 git@remote.git”?
推荐阅读
-
IOS UI 自动化测试实践:pyhton-wda 环境设置篇-Xcode 版本:10.1iphone 版本:12.0.1OS 版本:10.13.6 实践开始 创建一个新目录并从 git 下载 WDA 项目代码。 git clone https://github.com/facebook/WebDriverAgent 并运行初始化脚本。 ./Scripts/bootstrap.sh 出现以下错误信息:原因:Carthage 需要下载相关的依赖项,而这些依赖项并未在本地安装。 解决方法通过 brew 下载并安装依赖项: brew install carthage 下载成功并初始化脚本后,出现以下错误:原因:需要 npm 来打包响应 js 文件,而机器上未安装该文件。 解决方案:通过 brew 下载并安装 npm(注:brew 真的是个好东西):brew install npm 安装成功后,继续初始化脚本。/Scripts/bootstrap.sh Xcode 相关操作
-
pip install git(pip 直接在 git 上安装项目)