Python 从私有bitbucket repo tar.gz文件安装pip

Python 从私有bitbucket repo tar.gz文件安装pip,python,git,pip,bitbucket,Python,Git,Pip,Bitbucket,我有一个普通的私人回购协议,它依赖于其他私人回购协议 我有一个创建tar.gz文件的构建过程。在这个网址上 https://git.my_company.com/projects/RA/repos/my-common-module/browse/scripts/testing_dist/api_common_module-4.0.10.tar.gz 这里是ssh url ssh://git@git.my_company.com:8500/ra/my-common-module.git 我的问题是

我有一个普通的私人回购协议,它依赖于其他私人回购协议

我有一个创建tar.gz文件的构建过程。在这个网址上

https://git.my_company.com/projects/RA/repos/my-common-module/browse/scripts/testing_dist/api_common_module-4.0.10.tar.gz

这里是ssh url

ssh://git@git.my_company.com:8500/ra/my-common-module.git


我的问题是,我应该使用什么样的pip命令从终端安装它,还有一个后续问题,我应该在requirements.txt文件中写什么来表示安装?

您可以这样做,但这是一个潜在的安全风险,因此请谨慎行事

Bitbucket云、Bitbucket服务器和GitHub允许您生成应用程序密码(Bitbucket云)或个人访问令牌(Bitbucket服务器、GitHub)。这些密码可以限制在范围内(例如只读),因此密码不能用于执行破坏性操作。您可以使用它们将用户名和密码直接嵌入到可通过pip安装的URL中,例如:

pip install -e git+https://charlie:abcdefgh12345678@bitbucket.org/charlie/snakesonaplane.git@master#egg=snakesonaplane
(注:不是真正的回购协议)

问题是:将任何类型的凭证提交给其他人可以看到的项目几乎总是危险的。例如,在你的requirements.txt中加入这样的内容几乎总是一个坏主意。即使它是一个只读密码,即使任何有权访问它的人已经可以访问它提供给他们访问的所有其他内容,它仍然是一个漏洞。想象一下,如果您的一位队友离开您的团队/公司/等,他们可能会保留对您所有工作的只读访问权限,只要应用程序密码有效


这里的“理想”解决方案是托管您自己的PyPi服务器。您可以使用它来托管私有软件包,这样就可以在不将凭据嵌入需求文件的情况下对其进行pip安装。如果您为大型组织工作,则很有可能已经存在一个。这是一个非常好用的话题,所以我不会重复大量的信息,但它值得一看。

pip-installhttps://my.url.com/file.tar.gz
回声https://my.url.com/file.tar.gz >>requirements.txt
这是一个私有文件,不能直接从http上运行。必须通过ssh,不是吗?如果它不能通过http工作,你至少应该在问题中提到它,不是吗?