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有两个好处:

  1. 您可以在您的家庭项目目录中安装软件包。
  2. 包包含.git目录,所以它是常规的Git存储库。 你可以马上推到你的货叉上。