This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: distutils's build_wininst command fails to correctly interpret the data_files argument
Type: Stage: resolved
Components: Distutils Versions: Python 2.7
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: eric.araujo Nosy List: Mario.Vilas, eric.araujo, loewis, steve.dower, tarek
Priority: normal Keywords:

Created on 2012-04-08 17:58 by Mario.Vilas, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Messages (3)
msg157801 - (view) Author: Mario Vilas (Mario.Vilas) Date: 2012-04-08 17:58
I tried the following:

setup(

    data_files = [(sys.prefix_exec, os.path.join('Win32', 'BeaEngine.dll'))]

  # (... rest of the setup call here...)

)

This works perfectly when running the "python setup.py install". But when generating an installer (not MSI but the exe file), the installer places the 'BeaEngine.dll' in a subdirectory called 'python27'. For 64 bit builds, the subdirectory is called 'Python27-x64' instead.

The paths to my python installations are "C:\Python27" and "C:\Python27-x64" respectively. The target folders should have been those, not "C:\Python27-x64\Python27-x64" which is clearly wrong.

So far my workaround was this:

    data_files = [(os.path.join(sys.prefix_exec,'..'), os.path.join('Win32', 'BeaEngine.dll'))]

But of course, now my setup.py script only works for generating the installer, not for installing the module from sources.
msg159778 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2012-05-02 06:32
Mario: would you like to work on a patch?
msg386444 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2021-02-03 18:37
Distutils is now deprecated (see PEP 632) and all tagged issues are being closed. From now until removal, only release blocking issues will be considered for distutils.

If this issue does not relate to distutils, please remove the component and reopen it. If you believe it still requires a fix, most likely the issue should be re-reported at https://github.com/pypa/setuptools
History
Date User Action Args
2022-04-11 14:57:28adminsetgithub: 58735
2021-02-03 18:37:41steve.dowersetstatus: open -> closed

nosy: + steve.dower
messages: + msg386444

resolution: out of date
stage: resolved
2012-05-02 06:32:46loewissetmessages: + msg159778
2012-04-13 17:54:25eric.araujosetnosy: + loewis
2012-04-08 17:58:19Mario.Vilascreate