【问题标题】:How to make a private module pip installable?如何使私有模块 pip 可安装?
【发布时间】:2019-03-26 18:20:54
【问题描述】:

我有运行 Django 项目需要安装的 python 包?

我进入 python 虚拟环境并从 lib 中的 site-packages 文件夹中的 git 克隆模块。

我需要的是使该模块 pip 可安装,并且安装访问权限应仅授予特定人员,即该模块不应对所有人公开。

【问题讨论】:

  • 不要克隆到站点包中。只需将其克隆到临时位置即可。然后确保您已激活虚拟环境并执行pip install <folder-name>,其中<folder-name> 是您克隆时创建的目录git。那应该只将模块安装到您的虚拟环境中。
  • 你能告诉我一种使用 Pypi 的方法吗?
  • 您上传到 PyPi 的任何内容都是公开的。查看@daniellong 的回答

标签: python pip


【解决方案1】:

像通常构建公共构建一样构建 python 包。有关这方面有用的分步说明,请查看 python docs

有多种方法可以同时保持可安装性和隐私性。当我为自己的软件包研究这个时,我从this site 的建议开始。该站点包含有关如何构建您自己的 PyPi 服务器等价物的说明。

虽然我找到的解决方案,我觉得相当简单。我将整个包推送到托管在 github 上的私有 git 存储库。然后您可以使用pip install git+[insert full url to your github repository here] 进行安装。您可以通过限制谁有权访问您的 git 存储库来强制执行隐私。

【讨论】:

    【解决方案2】:

    要使您的包成为要求的一部分,请将其放置在只有您希望访问的人才能访问的地方,例如在私人 github 上。然后你可以在任何项目的requirements.txt 中添加这样一行,pip 会获取并安装它:

    -e git://github.com/<user>/<package>.git#egg=<package>
    

    (替换为您正在分发的包的名称。)此行只是添加到requirements.txt 通常包含的简单包名称列表中。您还可以将 git 下载替换为放置在本地文件共享上的 egg 或其他。

    【讨论】:

      猜你喜欢
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 2017-04-27
      • 2013-12-03
      • 1970-01-01
      • 2014-11-09
      • 2017-03-28
      • 1970-01-01
      相关资源
      最近更新 更多