If you pull the repo from the master branch at the latest commit (cb25046), local setup with pip install . won't copy over the index files. This can be tricky to reproduce / check, because the indexes folder might still be cached in build folder from previous builds. This causes pip install . to copy the folder over, even though it's not included in pyproject.toml.
To reproduce:
set up a completely fresh conda env or venv
freshly clone the mirdata repo, or run rm -rf build mirdata.egg-info to make sure nothing is left cached from previous builds
install mirdata with pip install . --no-cache-dir again avoiding any caches
cd .. or cd ~ or similar to leave the mirdata folder, making sure that import mirdata refers to the installed library and not the local module
python -c "import mirdata; d=mirdata.initialize('maestro'); print(d.track_ids[0])" will now fail with a FileNotFoundError.
alternatively, confirm that the folder printed by python -c "import mirdata; print(mirdata.__file__)" does not contain the indexes folder
Adding a package-data subtable into pyproject.toml fixes this.
If you pull the repo from the master branch at the latest commit (cb25046), local setup with
pip install .
won't copy over the index files. This can be tricky to reproduce / check, because theindexes
folder might still be cached inbuild
folder from previous builds. This causespip install .
to copy the folder over, even though it's not included inpyproject.toml
.To reproduce:
mirdata
repo, or runrm -rf build mirdata.egg-info
to make sure nothing is left cached from previous buildspip install . --no-cache-dir
again avoiding any cachescd ..
orcd ~
or similar to leave themirdata
folder, making sure thatimport mirdata
refers to the installed library and not the local modulepython -c "import mirdata; d=mirdata.initialize('maestro'); print(d.track_ids[0])"
will now fail with aFileNotFoundError
.python -c "import mirdata; print(mirdata.__file__)"
does not contain theindexes
folderAdding a
package-data
subtable intopyproject.toml
fixes this.