views:

709

answers:

2

I have python .egg files that are stored in a relative location to some .py code. The problem is, I am targeting python 2.5.1 computers which require my project be self contained in a folder (hundreds of thousands of OLPC XO 8.2.1 release laptops running Sugar). This means I cannot just ./ez_install to perform a system-wide setuptools/pkg_resources installation.

Example directory structure:

My Application/
My Application/library1.egg
My Application/libs/library2.egg
My Application/test.py

I am wondering how best to import and use library1 and library2 from within test.py with no pkg_resources system-wide installation. Is my best option simply to unzip the .egg files?

Thanks for any tips.

A: 

Include pkg_resources.py in the lib/ directory.

Add at the top of example.py...

   import sys
   sys.path.append("lib/")
   import pkg_resources

and then you can...

   sys.path.append("library1.egg")
   sys.path.append("libs/library2.egg")
   import library1
   import library2
Brian Jordan
Put raw http copy of pkg_resources.py at http://shell.sugarlabs.org/~bjordan/pkg_resources.py
Brian Jordan
+1  A: 

If you want to be able to use pkg_resources, just copy pkg_resources.py alongside your application's main script. It's designed to be able to be used this way as a standalone runtime.

pjeby