如何解决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
) 安装我的包时,我找不到带有 conf
的 cfg.yml
我的安装位置(我只看到模块和 .py
文件)。 造成这种差异的原因是什么?
这是我的 setup.py
- here 的内容。我正在使用 include_package_data=True
,但没有使用 MANIFEST.in
。
由于我的存储库是专有的,我无法共享存储库,我试图重现此行为并创建 MWE,但我无法做到(setup.py
来自 this demo project 并且是相同的就像真正的一样,但是这个演示项目在两种情况下 - 在本地安装或通过 Git - 工作完全相同,并且包含没有 .py
文件的 conf 子目录)。
我还尝试比较 sdist
和 bdist
(在本地运行 python setup.py sdist
和 python 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 举报,一经查实,本站将立刻删除。