launcher manifest is not installed into site-packages with easy_install

Issue #371 resolved
Guy Rozendorn
created an issue

because it is not included in package-data this means easy_install'ing other 0.6.37 is broken:

easy_install -U infi.projector Searching for infi.projector Reading Best match: infi.projector 0.5.13 Downloading Processing infi.projector-0.5.13-py2.7.egg removing 'c:\cygwin\home\administrator\python\lib\site-packages\infi.projector-0.5.13-py2.7.egg' (and everything under it) creating c:\cygwin\home\administrator\python\lib\site-packages\infi.projector-0.5.13-py2.7.egg Extracting infi.projector-0.5.13-py2.7.egg to c:\cygwin\home\administrator\python\lib\site-packages infi.projector 0.5.13 is already the active version in easy-install.pth Installing script to C:\Cygwin\home\Administrator\python\Scripts Installing projector.exe script to C:\Cygwin\home\Administrator\python\Scripts error: C:\Cygwin\home\Administrator\python\lib\site-packages\distribute-0.6.37-py2.7.egg\setuptools\command\launcher manifest.xml: No such file or directory

Comments (13)

  1. Guy Rozendorn reporter

    cloning the repository now; will push a fix shortly in the meantime, this is the diff:

    diff -r 8b339bdc7ae5
    --- a/  Sat May 04 22:15:02 2013 -0400
    +++ b/  Sun May 05 11:12:03 2013 +0300
    @@ -170,7 +170,7 @@ dist = setup(
         test_suite = 'setuptools.tests',
         src_root = src_root,
         packages = find_packages(),
    -    package_data = {'setuptools':['*.exe']},
    +    package_data = {'setuptools':['*.exe'], 'setuptools.command':['*.xml']},
         py_modules = ['pkg_resources', 'easy_install', 'site'],
  2. Guy Rozendorn reporter

    Hi Jason,

    Your re-release is still broken: The manifest is not enough -- it just tells what to package in sdist The keyword argument 'package_data' tells what to install, and I added the xml files to it

    See my commit related to this issue; we need to release as it 0.6.38 as soon as possible

  3. Tarek Ziadé repo owner

    You should avoid deleting a release because there's no guarantee the mirrors will update the files. I encourage you to release a 0.6.38 to avoid any trouble

  4. Jason R. Coombs

    The release is done. Thanks for reporting and patching this, Guy. I've gotten so used to using 'include_package_data' and hgtools that I'd forgotten that data files need to be specified three times to work properly (once when you add it to the project, once in the to indicate that you want it distributed, and then a third time to indicate that you want it installed).

  5. Éric Araujo

    Note that starting with Python 2.7’s distutils, files in package_data don’t need to be repeated in I don’t understand what the other repetition is (“when you add it to the project” — are you talking about VCS add?).

  6. Jason R. Coombs

    @Éric Araujo I hadn't fully absorbed the idea that the is no longer required for Python 2.7+. I presume that's only the case if the files are still declared in the package_data or otherwise inferred by include_package_data. Is that right? That would explain why the file wasn't present in the sdist before adding it to, but was after (giving me the false impression that I was making the correct change).

    So to summarize, data files must be referenced in as package_data (or possibly via include_package_data if a VCS plugin can resolve package data) and should also be present in the file system during the sdist construction.

    It sounds as if the use of is no longer required for files in the package as long as the distributions are made on Python 2.7 or later. I'm tempted to enforce that requirement in the release script and obviate the need for (most of) I'll create a ticket for that. Thanks for the tip!

  7. Log in to comment