-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
setuptools doesn't install data_files correctly #460
Comments
Original comment by iElectric (Bitbucket: iElectric, GitHub: Unknown): I've already described that in https://bitbucket.org/pypa/setuptools/issues/130/install_data-doesnt-respect-prefix |
Original comment by pombredanne (Bitbucket: pombredanne, GitHub: pombredanne): and there is a related bug at https://bitbucket.org/pypa/wheel/issues/120/bdist_wheel-creates-a-wheel-that-installs FWIW |
Original comment by pombredanne (Bitbucket: pombredanne, GitHub: pombredanne): IMHO data_files are evil and should be deprecated entirely |
Original comment by jdemeyer (Bitbucket: jdemeyer, GitHub: jdemeyer):
Can you at least justify why you think that? How would you install data files in such a way that
The fact that this simply cannot be done with setuptools is a very serious problem. |
Original comment by jdemeyer (Bitbucket: jdemeyer, GitHub: jdemeyer): @pombredanne: maybe you are confusing the |
Original comment by pombredanne (Bitbucket: pombredanne, GitHub: pombredanne): well I guess I jumped the gun, they are not entirely evil... and likely a needed evil for non-library packages... I guess the thing that is needed is consistency, clarity and convergence across setuptools, pip and wheel. There has been some extensive comments in this pip thread: pypa/pip#2874 (comment) |
Original comment by jdemeyer (Bitbucket: jdemeyer, GitHub: jdemeyer):
Absolutely. I find this one of the most confusing parts of the Python system: we have |
Original comment by pombredanne (Bitbucket: pombredanne, GitHub: pombredanne):
True but things are changing fast for the better and we call all help to make it so. |
Original comment by iElectric (Bitbucket: iElectric, GitHub: Unknown): It's the same issue, but I've expressed myself in unclear way, sorry. Currently: Expected: |
Files under 'usr' are installed with setup.py. Files outside of 'usr' are installed using the makefile. Apparently attempting to install files outside of the "prefix" with setuptools is a fool's errand. See pypa/setuptools#460
Files under 'usr' are installed with setup.py. Files outside of 'usr' are installed using the makefile. Apparently attempting to install files outside of the "prefix" with setuptools is a fool's errand. See pypa/setuptools#460
Duplicate of #130 |
Originally reported by: jdemeyer (Bitbucket: jdemeyer, GitHub: jdemeyer)
NOTE 1: I have read the docs and know this is documented as a feature, but I think it's a bug anyway.
NOTE2: This might be related to #130, but I didn't quite understand what that bug is about.
When using
and running
./setup.py install
, thesedata_files
are installed in the egg, which makes them inaccessible to other programs. I think thatsetuptools
should just do whatdistutils
does here, which is to install the files insys.prefix/some/relative/path
. The egg might still be the correct location forpackage_data
, I'm not arguing with that.Wheel also installs data files in
sys.prefix
. It's annoying to have a package which works correctly when installed as a wheel, but which doesn't install correctly when using./setup.py install
with setuptools.The documentation http://pythonhosted.org/setuptools/setuptools.html#including-data-files starts with "the most common use case for data files distributed with a package is for use by the package, usually by including the data files in the package directory". This may be right, but it's not the only use case and the use case where
data_files
are needed by something else (which might not even be Python) isn't covered.My particular use case is installing
kernel.json
files for Jupyter.The text was updated successfully, but these errors were encountered: