设置工具:在 package_data 中包含子目录
Setuptools: Include subdirectories in package_data
我相信这个问题是 但我还是有点卡住了。我正在尝试安装一个 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
。
我有同样的问题,在我的例子中,问题是安装包和执行时
pip install .
在我的本地它没有重新安装,所以没有包含这些包。
安装前卸载对我来说是关键
我相信这个问题是
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
。
我有同样的问题,在我的例子中,问题是安装包和执行时
pip install .
在我的本地它没有重新安装,所以没有包含这些包。
安装前卸载对我来说是关键