[Zope3-Users] zopeproject 0.4: using without easy_installing, egg-info error

Jeff Kowalczyk jtk at yahoo.com
Wed Sep 19 15:50:17 EDT 2007


I would like to use zopeproject without easy_installing zopeproject and
dependencies into the system python. The steps I'm following lead to a
missing egg-info directory error on the generated project.

This is an svn checkout of zopeproject, but I'd be glad to learn the
recommended way to do this. I'm most accustomed to using the non-system
python to run bootstrap.py.

After running buildout in working copy directory:


  $ /software/svn/zopeproject/bin/zopeproject MyProject
  Enter user (Name of an initial administrator user): admin
  Enter passwd (Password for the initial administrator user): secret
  Enter eggs_dir (Location where zc.buildout will look for and place packages) ['/home/myuser/.buildout/eggs']: 
  Creating directory ./MyProject
  Traceback (most recent call last):
    File "svn/zopeproject/bin/zopeproject", line 15, in ?
      zopeproject.main.zopeproject()
    File "/software/svn/zopeproject/zopeproject/main.py", line 4, in zopeproject
      create_project('zope_app')
    File "/software/svn/zopeproject/zopeproject/script.py", line 32, in create_project
      newest=options.newest)
    File "/software/svn/zopeproject/zopeproject/script.py", line 58, in run_paster_create
      return runner.run(option_args + ['-t', paste_template, project]
    File "/home/myuser/.buildout/eggs/PasteScript-1.3.6-py2.4.egg/paste/script/command.py", line 212, in run
      result = self.command()
    File "/home/myuser/.buildout/eggs/PasteScript-1.3.6-py2.4.egg/paste/script/create_distro.py", line 143, in command
      egg_info_dir = pluginlib.egg_info_dir(output_dir, dist_name)
    File "/home/myuser/.buildout/eggs/PasteScript-1.3.6-py2.4.egg/paste/script/pluginlib.py", line 133, in egg_info_dir
      raise IOError("No egg-info directory found (looked in %s)"
  IOError: No egg-info directory found (looked in ./MyProject/./MyProject.egg-info, 
  ./MyProject/log/MyProject.egg-info, ./MyProject/src/MyProject.egg-info, 
  ./MyProject/var/MyProject.egg-info, ./MyProject/deploy.ini/MyProject.egg-info, 
  ./MyProject/debug.ini/MyProject.egg-info, ./MyProject/zope.conf/MyProject.egg-info, 
  ./MyProject/site.zcml/MyProject.egg-info, ./MyProject/setup.py/MyProject.egg-info, 
  ./MyProject/buildout.cfg/MyProject.egg-info, ./MyProject/zdaemon.conf/MyProject.egg-info)


I have a non-system python installed in the usual place:


  $ cat /opt/python24/python.cfg 
  [buildout]
  parts = python
  parts-directory = .

  [python]
  recipe = zc.recipe.cmmi
  url = http://www.python.org/ftp/python/2.4.4/Python-2.4.4.tgz


  $ /opt/python24/python/bin/python -V
  Python 2.4.4


zc.buildout is easy_installed in the system Python:


  $ cat /usr/bin/buildout 
  #!/usr/bin/python
  # EASY-INSTALL-ENTRY-SCRIPT: 'zc.buildout==1.0.0b30','console_scripts','buildout'
  __requires__ = 'zc.buildout==1.0.0b30'
  import sys
  from pkg_resources import load_entry_point

  sys.exit(
     load_entry_point('zc.buildout==1.0.0b30', 'console_scripts', 'buildout')()
  )


The non-system python is the 'executable' in default.cfg


  $ cat /home/myuser/.buildout/default.cfg 
  [buildout]
  newest = false
  executable = /opt/python24/python/bin/python
  eggs-directory = /home/myuser/.buildout/eggs
  download-directory = /home/myuser/.buildout/downloads
  find-links = 
      http://pypi.python.org/simple/
      http://download.zope.org/distribution


Presumably because of this, when I run '/usr/bin/buildout' in the svn
working copy /software/svn/zopeproject, it correctly selects the
non-system python:


  $ cat /software/svn/zopeproject/bin/zopeproject 
  #!/opt/python24/python/bin/python

  import sys
  sys.path[0:0] = [
    '/software/svn/zopeproject',
    '/home/myuser/.buildout/eggs/PasteScript-1.3.6-py2.4.egg',
    '/home/myuser/.buildout/eggs/setuptools-0.6c7-py2.4.egg',
    '/home/myuser/.buildout/eggs/PasteDeploy-1.3.1-py2.4.egg',
    '/home/myuser/.buildout/eggs/Paste-1.4.2-py2.4.egg',
    ]

  import zopeproject.main

  if __name__ == '__main__':
      zopeproject.main.zopeproject()


Thanks for any suggestions.



More information about the Zope3-users mailing list