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: site-packages isn't created before install_egg_info
Type: Stage:
Components: Distutils Versions: Python 2.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: pje Nosy List: jfunk, loewis, pje, sf-robot
Priority: normal Keywords:

Created on 2006-09-28 00:34 by jfunk, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (6)
msg30040 - (view) Author: James Oakley (jfunk) * Date: 2006-09-28 00:34
install_egg_info is called without creating the site-packages 
directory when only a script is specified. This can break 
RPM builds since the site-packages directory isn't present 
beforehand.

Here's an setup.py that causes this problem::

from distutils.core import setup
setup(name='dot2tex',
      version='1.0.1',
      description = 'A Graphviz to LaTeX converter',
      author = 'Kjell Magne Fauske',
      author_email = 'kjellmf@gmail.com',
      url = "http://www.fauskes.net/code/dot2tex/",
      download_url 
= "http://www.fauskes.net/code/dot2tex/download/",
      scripts=['dot2tex/dot2tex.py']
      )

Here's the build output::

+ python setup.py 
install --prefix=/usr --root=/var/tmp/dot2tex-buildroot --record=INSTALLED_FILES
running install
running build
running build_scripts
running install_scripts
creating /var/tmp/dot2tex-buildroot
creating /var/tmp/dot2tex-buildroot/usr
creating /var/tmp/dot2tex-buildroot/usr/bin
copying 
build/scripts-2.5/dot2tex.py -> /var/tmp/dot2tex-buildroot/usr/bin
changing mode 
of /var/tmp/dot2tex-buildroot/usr/bin/dot2tex.py to 755
running install_egg_info
Writing /var/tmp/dot2tex-buildroot/usr/lib64/python2.5/site-packages/dot2tex-1.0.1-py2.5.egg-info
error: /var/tmp/dot2tex-buildroot/usr/lib64/python2.5/site-packages/dot2tex-1.0.1-py2.5.egg-info: 
No such file or directory
msg30041 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2006-09-28 03:26
Logged In: YES 
user_id=21627

How can there not be a site-packages directory? It is
created with the installation of Python itself, so it is
always there.
msg30042 - (view) Author: SourceForge Robot (sf-robot) Date: 2006-10-15 02:20
Logged In: YES 
user_id=1312539

This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).
msg30043 - (view) Author: James Oakley (jfunk) * Date: 2006-11-09 14:55
Logged In: YES 
user_id=8314

Hmm. For some reason SF didn't send your response, so I didn't see it.

When building RPM packages, software is installed to a completely 
empty directory to avoid pollution to/from the host system. This means 
that the installation process should create any needed directories before 
trying to copy files to them. This is performed automatically when using 
GNU autotools, and in Python when installing scripts and modules.

However, this is not performed when installing egg-info files in 2.5. It's 
not a problem when the package includes modules, since the 
site-packages directory gets created when the modules are installed 
before the egg-info. If a package does not include modules, the directory 
is not there and the egg-info installation fails.
msg30044 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2006-11-09 19:14
Logged In: YES 
user_id=21627

Phillip, can you take a look? If not, please unassign.
msg30045 - (view) Author: PJ Eby (pje) * (Python committer) Date: 2006-11-10 00:36
Logged In: YES 
user_id=56214

I've checked in a fix as of revision 52716; presumably it
should be backported to the 2.5 maintenance branch as well.
History
Date User Action Args
2022-04-11 14:56:20adminsetgithub: 44044
2006-09-28 00:34:24jfunkcreate