Python setuptools package_data - pip 在子文件夹上失败

Python setuptools package_data - pip fails on subfolders

我正在尝试让我自己的 pip 包安装正常工作,但我在 package_data 中指定的附加数据中的子文件夹方面遇到了问题。一切似乎都很好(所有数据都包含在生成的 .zip 文件中),但是当我 运行 "pip install myapp" 时,它说:"error: can't copy 'myapp\web\styles': doesn't exist or not a regular file"

脏树:

projectDir
  setup.py
  myapp
    __init__.py
    webapp.py
    web
      index.html
      styles
        style.css

setup.py:

from setuptools import setup
    setup (
        zip_safe = False,
        name = "myapp",
        version = "0.1",
        packages = ["myapp"],
        include_package_data = True,
        package_data = {
            "myapp": ["web/*", "web/styles/*"]
        }
    )

创建包的命令:

python setup.py sdist

安装命令:

pip install myapp-0.1.zip

我什至尝试指定 MANIFEST.in(但没有成功):

include myapp/web/*.*
include myapp/web/styles/*.*

当我只指定 MANIFEST.in 而没有 package_data 时,安装成功,但是 site-packages/myapp/web 中没有文件,所以没有 package_data 被复制。

我很绝望,因为我没有找到任何建议我做错了什么,我花了很长时间让它起作用。

感谢任何建议。

好的,所以我有一个解决方案:我只使用了 MANIFEST.in 并从 setup.py 中删除了 package_data 并且一切正常。我以为我以前试过这个,但我错了。