[Distutils] Easy_install fails, package somehow depends on itself and won't resolve

Deron Meranda deron.meranda at gmail.com
Thu Apr 3 20:52:03 CEST 2008


I'm having an issue with easy_install from setuptools 0.6c8 with
egg files containing C extensions.

I have created an egg from a package which includes C code.
When I try to install it on another system though, the egg itself
will install, but then easy_install aborts with an error while trying
to resolve it's dependencies (which it shouldn't have any dependencies).

The created egg file is named
   pysqlite-2.4.1-py2.5-hp-ux-B.11.00-9000-800.egg

easy_installing it though yields an error:
-----
$ easy_install -v -H "" pysqlite-2.4.1-py2.5-hp-ux-B.11.00-9000-800.egg
Processing pysqlite-2.4.1-py2.5-hp-ux-B.11.00-9000-800.egg
Copying pysqlite-2.4.1-py2.5-hp-ux-B.11.00-9000-800.egg to
/...<PATH>.../lib/python2.5/site-packages
Removing pysqlite 2.3.2 from easy-install.pth file
Adding pysqlite 2.4.1 to easy-install.pth file
Saving /...<PATH>.../lib/python2.5/site-packages/easy-install.pth

Installed /...<PATH>.../lib/python2.5/site-packages/pysqlite-2.4.1-py2.5-hp-ux-B.11.00-9000-800.egg
Processing dependencies for pysqlite==2.4.1
Searching for pysqlite==2.4.1

Link to http://pypi.python.org/simple/pysqlite/ ***BLOCKED*** by --allow-hosts

Couldn't retrieve index page for 'pysqlite'
Scanning index of all packages (this may take a while)

Link to http://pypi.python.org/simple/ ***BLOCKED*** by --allow-hosts

No local packages or download links found for pysqlite==2.4.1
error: Could not find suitable distribution for
Requirement.parse('pysqlite==2.4.1')
-----


However I can still use the package just fine, and it seems the same
require condition works:

>>> import pkg_resources
>>> pkg_resources.require('pysqlite==2.4.1')
[pysqlite 2.4.1
(/...<PATH>.../lib/python2.5/site-packages/pysqlite-2.4.1-py2.5-hp-ux-B.11.00-9000-800.egg)]
>>> import pysqlite2
>>> pysqlite2.__path__
['/...<PATH>.../lib/python2.5/site-packages/pysqlite-2.4.1-py2.5-hp-ux-B.11.00-9000-800.egg/pysqlite2']

Everything else works just fine too.  The C library gets extracted
into ~/.python-eggs
and using the package works flawlessly.

The only thing I can think is that the system I'm installing on has a
slightly different
OS version.  But it should be (and is) binary compatible.

System use to build egg:
   $ uname -s -r -m
   HP-UX B.11.00 9000/800
System trying to install on:
   $ uname -s -r -m
   HP-UX B.11.11 9000/800

I should also note that the python executable (and its libraries) are identical
on each system.  Python was actually built on the first system, and copied
to the second.

Yes I know sqlite is built into python 2.5 so pysqlite isn't needed, but this
should work anyway, right?  Can anybody help me understand what is
going on, and how can I get the egg file to install without an error?

Thanks
-- 
Deron Meranda


More information about the Distutils-SIG mailing list