我相信这个问题是asked before,但我仍然有些困惑。我正在尝试安装一个Python软件包,其中包含一些带有子目录的数据文件。这是我的设置:
setup.py
src/
mypkg/
__init__.py
module.py
data/
tables.dat
spoons.dat
sub/
forks.dat
在the docs之后,我尝试添加:
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 install
该模块。运行
python setup.py install
命令后,找到模块位置,然后依次import mypkg
和print(mypkg.__file__)
。但是,在包目录中,我可以看到data
而不是data/sub
。有人知道我在想什么吗?任何帮助是极大的赞赏! 最佳答案
嗯,事实证明上面的方法很好!
要将模块安装到我的site-packages/mypkg
位置,我只需要使用:python setup.py sdist
然后是pip install dist/mypkg-0.0.1.tar.gz
。
然后我的数据文件在site-packages/mypkg
中。