Following is the structure of folder
project_name
src
pkg
folder1
__init__.py
mod1
folder2
__init__.py
mod1
data_folder
data.pkl
__init__.py
__init__.py
MANIFEST.in
setup.py
To make sure that data_folder is included in the package, I wrote MANIFEST.in
include src/pkg/folder2/data_folder/*
and for setup.py
package_dir={"": "src"},
packages=find_packages("src"),
include_package_data=True,
However, when I checked site-packages, there was no data_folder
. What did I miss?
When setuptools
is used, manifest file is not longer required. Setuptools takes care of it.
Instead, this has to be done in setup.py
file.
from setuptools import setup
setup(
.
.
package_data={"pkg":["folder2/data_folder/*.pkl"]},
include_package_data=True,
.
.
)
Also, __init__.py
are not required inside data_folder
and its sub-folders. This has solved the problem for me.