微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。