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__
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?