configuration,使pip安装可以从github工作
我们希望使用pip和github来将私有包安装到我们的生产服务器上。 这个问题涉及github回购需要什么,才能使安装成功。
假设以下命令行(authentication正确,并尝试安装):
pip install git+ssh://git@github.com/BlahCo/search/tree/prod_release_branch/ProductName
什么需要驻留在ProductName中? 是运行setup.py与sdist选项后,通常在tar文件中的内容,或者是实际的tar.gz文件或其他东西?
我在这里问,因为我已经尝试了几个变化,不能使其工作。 任何帮助赞赏。
你需要整个python包,里面有一个setup.py
文件。
一个名为foo
的包将是:
foo # the installable package ├── foo │ ├── __init__.py │ └── bar.py └── setup.py
并从github安装如下:
$ pip install git+git://github.com/myuser/foo.git@v123 or $ pip install git+git://github.com/myuser/foo.git@newbranch
有关详情, 请访问https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support
我有类似的问题,当我不得不从github回购安装,但不想安装git等
简单的方法是使用包的zip存档。 将/zipball/master
添加到回购url:
$ pip install https://github.com/hmarr/django-debug-toolbar-mongo/zipball/master Downloading/unpacking https://github.com/hmarr/django-debug-toolbar-mongo/zipball/master Downloading master Running setup.py egg_info for package from https://github.com/hmarr/django-debug-toolbar-mongo/zipball/master Installing collected packages: django-debug-toolbar-mongo Running setup.py install for django-debug-toolbar-mongo Successfully installed django-debug-toolbar-mongo Cleaning up...
这样你就可以使用github源代码仓库来使用pip。
如果你想使用requirements.txt
文件,你将需要git
和类似下面的条目来匿名获取您的requirements.txt
的主分支。
对于常规安装:
git+git://github.com/celery/django-celery.git
对于“ 可编辑 ”安装:
-e git://github.com/celery/django-celery.git#egg=django-celery
可编辑模式将项目的源代码下载到当前目录中的./src
中。 它允许点击pip freeze
输出包的正确github位置。
像克隆任何其他项目一样克隆目标存储库:
git clone git@github.com:myuser/foo.git
然后以开发模式安装它:
cd foo pip install -e .
你可以改变你想要的任何东西,每个使用foo
包的代码都会使用修改后的代码。
这个解决scheme有两个好处:
- 您可以在您的家庭项目目录中安装软件包。
- 包包含
.git
目录,所以它是常规的Git存储库。 你可以马上推到你的货叉上。