Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Data files are unreadable when beets is installed as an egg #3264
Following up from a related Discourse thread, we noticed that beets isn't happy when it's installed as an egg. This is currently the default way beets is installed if you run
In egg mode, the whole beets and beetsplug directory trees remain bundled in a zipfile and are not extracted. This causes problems when we try and read data files (aka package resources) like
Indeed; I agree those are basically the two options! In my view, Python Eggs are a relic of the past—they served an important role for their time, but most of the problems they solve these days are better solved by the PEP 427 Wheel format. Here's a quick comparison between Egg and Wheel in the official docs.
That said, it does seem like
It looks like you can instruct setuptools to avoid installing as an egg using the
It looks like it's probably not worth supporting a runtime beets egg for the reasons you mention (wheels replacing eggs and the runtime dependency on setuptools). The Hacking page currently includes an egg URL in the local setup instructions that might need changing.
Whatever we do, I think Confuse might need a little attention related to this scenario. I'll have a look into that separately and move that discussion to its repo.
to line 68 of setup.py installs the files to a directory rather than an egg file.
I'll open a PR.
works as expected the "#egg=beets" is a required parameter