Python Setuptools:在包_数据中包含子目录

Python Setuptools:在包_数据中包含子目录,python,pip,setuptools,Python,Pip,Setuptools,我相信这个问题已经解决了,但我还是有点卡住了。我正在尝试安装一个Python包,其中包含一些带有子目录的数据文件。以下是我的设置: setup.py src/ mypkg/ __init__.py module.py data/ tables.dat spoons.dat sub/ forks.dat 我试图补充以下内容: setup(

我相信这个问题已经解决了,但我还是有点卡住了。我正在尝试安装一个Python包,其中包含一些带有子目录的数据文件。以下是我的设置:

setup.py
src/
    mypkg/
        __init__.py
        module.py
        data/
            tables.dat
            spoons.dat
            sub/
                forks.dat
我试图补充以下内容:

setup(...,
  packages=['mypkg'],
  package_dir={'mypkg': 'src/mypkg'},
  package_data={'mypkg': ['data/*.dat', 'data/sub/*.dat']},
)
我使用
python setup.py install
(尽管最终我将使用
python setup.py sdist upload
将包上载到pypi,以便其他人可以
pip安装该模块


运行
python setup.py install
命令后,要查找模块位置,我需要
import mypkg
print(mypkg.\uuuuuu文件)
。但是,在软件包目录中,我可以看到
数据
,但看不到
数据/sub
。有人知道我缺少什么吗?非常感谢任何帮助!

啊,原来上面的方法很好

要将模块安装到我的
站点包/mypkg
位置,我只需使用:
python setup.py sdist
,然后使用
pip install dist/mypkg-0.0.1.tar.gz


然后我的数据文件在
站点软件包/mypkg

中,我也遇到了同样的问题,在我的情况下,问题是软件包安装和执行时

pip install .
在我的本地版本中,它没有重新安装,所以没有包括软件包


安装前卸载是我的关键

无法复制,因为
软件包数据
规范非常好-获取
安装
sdist
bdist_wheel
以及verious
pip安装
上包含的文件。可能是一些缓存的东西?好奇。我可能没有尝试获取软件包文件es正确-鉴于上述设置,我应该如何获取data/sub/*.dat@hoeflingAh中的文件你说得很对@hoefling,谢谢你的留言!很好,不确定我是否帮助了,但很高兴听到问题解决了:-)