4 ms·
Yeah, docs are a bit fuzzy and I'm not exactly sure what the right answer is. So there are actually two ways to go about it AFAIK and I'm not entirely sure whi
by gh02t 11y ago
Yeah, docs are a bit fuzzy and I'm not exactly sure what the right answer is.
So there are actually two ways to go about it AFAIK and I'm not entirely sure which one is the best. One is to list files in MANIFEST.in and then access it via __file__, but I think this doesn't work if your module gets turned into an egg/wheel (it's for source dists).
On the other hand is using pkg_resources, where you declare the list of files in the package_data argument to setup in your setup.py. You can then get the contents of that file (not its path) by importing the pkg_resources package, which provides a lookup table of loaded resources. This [apparently] works for binary dists but not source dists (the opposite of MANIFEST).
I've used pkg_resources without issue myself, but it's possible I just have been lucky. In any event, here's a few links discussing the differences and also how to use pkg_resources:
http://stackoverflow.com/questions/7522250/how-to-include-package-data-with-setuptools-distribute http://stackoverflow.com/questions/7522250/how-to-include-pa...
http://blog.codekills.net/2011/07/15/lies,-more-lies-and-python-packaging-documentation-on--package_data-/ http://blog.codekills.net/2011/07/15/lies,-more-lies-and-pyt...
http://peak.telecommunity.com/DevCenter/PythonEggs#accessing-package-resources http://peak.telecommunity.com/DevCenter/PythonEggs#accessing...
If you want an example, here's a package I made that uses pkg_resources (I make no promises that this is the right way to do it, but it works for me):
(setup.py, see line 10) https://github.com/jasonmhite/gefry2/blob/master/setup.py https://github.com/jasonmhite/gefry2/blob/master/setup.py
(the data file I want to include) https://github.com/jasonmhite/gefry2/tree/master/gefry2/data https://github.com/jasonmhite/gefry2/tree/master/gefry2/data
(where the code loads the data file, see line 67) https://github.com/jasonmhite/gefry2/blob/master/gefry2/materials.py https://github.com/jasonmhite/gefry2/blob/master/gefry2/mate...
- sametmax 11y agoThanks