我们想使用pip与github安装私有包到我们的生产服务器。这个问题涉及到为了安装成功,github回购中需要什么。
假设下面的命令行(验证正常并尝试安装):
pip install git+ssh://git@github.com/BlahCo/search/tree/prod_release_branch/ProductName
ProductName中需要驻留什么?它是在运行setup.py和sdist选项后通常会在tar文件中的内容,还是实际的tar.gz文件,还是其他什么?
我之所以问这个问题,是因为我已经尝试了几种不同的方法,但都无法奏效。感谢任何帮助。
使用terminal命令测试优化的Ubuntu解决方案:
步骤1:
在选定的目录中克隆git repo。
例子:
$ git clone https://github.com/httpie/httpie.git
步骤2:
选择/更改路径到目录,到克隆文件夹
$ cd ClonedFolderName
步骤3:
输入以下命令安装该包
ColnedFolderName(directory Name) $ pip install ./
PIP install ./ is命令输入克隆目录名称
注意:确保setup.py在克隆的repo中。(在默认情况下)
当我不得不从github repo安装时,我有类似的问题,但不想安装git等。
最简单的方法就是使用zip压缩包。将/zipball/master添加到repo 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...
通过这种方式,您将使pip与github源存储库一起工作。
你需要整个python包,里面有一个setup.py文件。
一个名为foo的包将是:
foo # the installable package
├── foo
│ ├── __init__.py
│ └── bar.py
└── setup.py
从github安装:
$ pip install git+ssh://git@github.com/myuser/foo.git
or
$ pip install git+https://github.com/myuser/foo.git@v123
or
$ pip install git+https://github.com/myuser/foo.git@newbranch
更多信息请访问https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support