如何安装专用Python包作为构build的一部分

我有一个相当大的私人python包,我刚刚完成创build。 我想将其作为Docker容器中的应用程序构build过程的一部分进行安装(尽pipe这不是那么重要)。 包的来源是相当大的,所以理想情况下,我会避免下载/保持整个来源。

现在,我一直只是在应用程序中传递包源代码,但这很笨拙,希望是暂时的。 什么是更好的方法? git submodule / subtree? 我对此很新。

您可以在Github中设置OAuth令牌并使用命令

pip install git+https://<your_oauth_token>:x-oauth-basic@github.com/myuser/foo.git

更多文档在这里 。

如果您使用github与私人回购,您将不得不创build一个SSH部署密钥,并将私钥添加到您的应用程序文件夹进行构build。

pip install git+git://github.com/myuser/foo.git@v123

或者,您可以从主机装入一个pip-cache文件夹到容器中,并从该文件夹进行pip安装。 您必须将python包与您的应用程序保持在caching目录中。

pip install --no-index --find-links=/my/pip-cache/

您可以使用以下命令将python软件包安装到此pip-cache中:

pre pip 9.0.1:

pip install --download pip-cache/ package1 package2

pip 9.0.1+(thx for comment @James Hiew):

pip install download pip-cache/ package1 package2

我把它放在一个单独的私人回购,然后安装它作为一个需求使用PIP:

 pip install git+git://github.com/myuser/foo.git@v123