pip install 本地安装和从 Git 安装的区别

问题描述

我有类似于以下内容自定义存储库:

my_package
├── conf
|   └── cfg.yaml
├── sub_package
|   └── utils.py
└── some_module.py
README.md
requirements.txt
setup.py

当我使用本地安装 (pip install .) 时,一切正常,但是当我尝试从 Git (pip install git+ssh://git@gitlab.com/path/to/repo/my_package.git) 安装我的包时,我找不到带有 confcfg.yml我的安装位置(我只看到模块和 .py 文件)。 造成这种差异的原因是什么?

这是我的 setup.py - here内容。我正在使用 include_package_data=True,但没有使用 MANIFEST.in

由于我的存储库是专有的,我无法共享存储库,我试图重现此行为并创建 MWE,但我无法做到(setup.py 来自 this demo project 并且是相同的就像真正的一样,但是这个演示项目在两种情况下 - 在本地安装或通过 Git - 工作完全相同,并且包含没有 .py 文件的 conf 子目录)。

我还尝试比较 sdistbdist(在本地运行 python setup.py sdistpython setup.py bdist),但是源代码和二进制分发版都包含 conf 子目录和我的配置文件

总结一下,我主要有这两个问题:

  • 本地安装和从 Git 安装之间有(并且应该有?)区别吗?
  • 您知道为什么我的专有 (my_package) 存储库不包含 conf 目录,但我无法重现此行为吗? (我知道这很棘手,因为您无权访问此存储库。)

编辑:

  • 未提交的文件没有问题(我再次检查了这个)
  • 当我将 conf 选项添加package_data 时,从 Git 安装包含带有配置文件setup.py 目录(但它没有解释本地安装和通过 Git 安装之间的区别,也没有解释为什么它在示例项目中表现不同)
  • 我使用的是 Python 3.8.6
  • 我的 pip 版本是 20.3.3

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)