【问题标题】:Manifest.in seems to be ignoredManifest.in 似乎被忽略了
【发布时间】:2021-10-28 22:40:32
【问题描述】:

所以我有一个包如下:

Dir
+---src
|   +---Package
|       +---__init__.py
|       +---Certs
|           +---SomeCertificate
|
+---setup.py
+---MANIFEST.in

我的 setup.py 看起来像这样:

with open('requirements.txt') as f:
    required = f.read().splitlines()

setuptools.setup(
    name = 'myPackage',
    install_requires=required,
    package_dir = {
            '': 'src'},
    packages=find_packages(where='src'),
    include_package_data=True,
    zip_safe = False
)

我的 MANIFEST.in 看起来像这样:

recursive-include *

我希望在执行 pip install myPackage 时包含 Package 中的所有文件夹、结构和文件,但 MANIFEST.in 似乎被忽略了 - Certs 文件夹及其内容不在已安装包的 site-packages 文件夹中。一直在查看文档,但仍然无法弄清楚我做错了什么 - 有人知道吗?

【问题讨论】:

  • "但 MANIFEST.in 似乎被忽略了" 您对此有何证据?当您运行命令时会发生什么,这与您预期会发生什么不同?
  • 不,我仍然无法让它工作,我只是尝试做 package_data={'myPackage:['*']} ,它确实将 myPackage 文件夹下的文件直接包含到 site-package文件夹,但不会递归查找所有文件夹和文件
  • 也许是recursive-include src *。据我所知recursive-include 需要 2 个参数。

标签: python setuptools python-packaging


【解决方案1】:

试试这个:

# https://packaging.python.org/guides/using-manifest-in/
graft src/Package
global-exclude __pycache__
global-exclude *.py[cod]

graft dir-pattern 添加与dir-pattern匹配的目录下的所有文件

【讨论】:

    猜你喜欢
    • 2016-09-30
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    • 2012-03-08
    • 2015-12-11
    • 2014-04-15
    • 1970-01-01
    相关资源
    最近更新 更多