Apparently when using eggs, the user's home directory must be writeable. In this case the user is apache, a daemon account with home dir /var/www, which it can't write. Traceback (most recent call last): File "bin/cameo_server.py", line 3, in ? from durus.client_storage import ClientStorage File "build/bdist.linux-i686/egg/durus/client_storage.py", line 7, in ? File "build/bdist.linux-i686/egg/durus/serialize.py", line 9, in ? File "build/bdist.linux-i686/egg/durus/persistent.py", line 15, in ? File "build/bdist.linux-i686/egg/durus/_persistent.py", line 7, in ? File "build/bdist.linux-i686/egg/durus/_persistent.py", line 4, in __bootstrap__ File "/usr/local/lib/python2.4/setuptools-0.6a10-py2.4.egg/pkg_resources.py", line 799, in resource_filename return get_provider(package_or_requirement).get_resource_filename( File "/usr/local/lib/python2.4/setuptools-0.6a10-py2.4.egg/pkg_resources.py", line 1187, in get_resource_filename self._extract_resource(manager, self._eager_to_zip(name)) File "/usr/local/lib/python2.4/setuptools-0.6a10-py2.4.egg/pkg_resources.py", line 1204, in _extract_resource real_path = manager.get_cache_path(self.egg_name, self._parts(zip_path)) File "/usr/local/lib/python2.4/setuptools-0.6a10-py2.4.egg/pkg_resources.py", line 836, in get_cache_path ensure_directory(target_path) File "/usr/local/lib/python2.4/setuptools-0.6a10-py2.4.egg/pkg_resources.py", line 2301, in ensure_directory os.makedirs(dirname) File "/usr/lib/python2.4/os.py", line 156, in makedirs makedirs(head, mode) File "/usr/lib/python2.4/os.py", line 156, in makedirs makedirs(head, mode) File "/usr/lib/python2.4/os.py", line 159, in makedirs mkdir(name, mode) OSError: [Errno 13] Permission denied: '/var/www/.python-eggs' The directory appears to contain temporary directories for each egg in use. It's not a big deal but it is suprising, and it means one more security lockdown you can't do. -- Mike Orr