pip 安装本地 git 存储库
Posted
技术标签:
【中文标题】pip 安装本地 git 存储库【英文标题】:pip install a local git repository 【发布时间】:2012-12-19 00:42:46 【问题描述】:我找不到使用 pip 将本地目录安装为 python 包的正确方法。
(venv) C:\(...)>pip install . --no-index
Ignoring indexes: http://pypi.python.org/simple/
Unpacking c:\users\fsantos\desktop\biskates.com\biskates\forks\django-pipeline
Running setup.py egg_info for package from file:///(...)%5Cforks%5Cdjango-pipeline
Installing collected packages: django-pipeline
Running setup.py install for django-pipeline
Successfully installed django-pipeline
Cleaning up...
(venv) C:\(...)>cd ..
(venv) C:\(...)>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pipeline
>>> pipeline.__file__
'C:\\(...)site-packages\\pipeline\\__init__.py'
>>>
如您所见,pip 刚刚将包复制到站点包。我怎样才能避免这种情况,并直接从其源文件夹中使用该包?
我正在尝试将 django-pipeline 集成到我的 Django 项目中,但我想先添加对 Django 1.4 的支持,所以我分叉并克隆了我的 fork。
【问题讨论】:
【参考方案1】:我也可以使用:
cd your-local-repo
pip install -e .
或
python setup.py install develop
【讨论】:
我的目的只是为了开发,这是一个很好的答案。这也应该适用于 virtualenv 中的 requirements.txt。 很棒的解决方案!将更改合并到主存储库时如何卸载? @Fábiosantos-e
是您故事中唯一缺少的部分,您应该将此答案标记为正确的 IMO。
多年后再读,这确实是正确答案。对不起,我花了这么长时间:)
命令应该是python setup.py develop
而不是python setup.py install develop
。 IOW,install
不应该在那里。见setuptools.readthedocs.io/en/latest/userguide/…【参考方案2】:
如果您在venv
工作,您可以这样做:
env/bin/pip install git+file:///path/to/your/git/repo
或者有一个分支:
env/bin/pip install git+file:///path/to/your/git/repo@mybranch
【讨论】:
问题是关于安装一个实际目录(因为我正在开发两个非常密切相关的项目,并且我想在调试时对这两个项目进行编码),但这很好地提醒了我们可以做什么! 迈克,谢谢!这对我帮助很大。我有一些 git+ssh 私有依赖项,并且存储库服务器进行了维护。 非常重要的是要注意git+file:
后面还有3 /
env/bin/pip
比普通的python -m pip
有什么优势?【参考方案3】:
您可以使用 pip 或 pipenv 和以下命令从本地 git repo 安装:
pip install git+file:///path/to/your/package#egg=package-name
注意文件后面有3个斜杠:这里。
要从远程仓库安装,请使用:
pip install git+ssh://git@github.com:Username/Project.git
您也可以像这样指定所需的分支:
pip install git+ssh://git@github.com:Username/Project.git@master
我刚刚从Quilt 和nanounanue 和this question 收集了以前的答案和cmets。还发了here。
【讨论】:
以上是关于pip 安装本地 git 存储库的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Composer 从本地 Git 存储库安装标记提交?
如何从 python 脚本调用 pip 并使其在本地安装到该脚本? [复制]