Hi Sam, Benoit, et all, On Tue, Aug 2, 2011 at 10:42 PM, Samuele Kaplun <[email protected]> wrote: > Hi Benoit, > > Il giorno mar, 02/08/2011 alle 16.15 -0400, Benoit Thiell ha scritto: >> On our main server, we've installed Invenio with Python 2.4 as it is >> the version that's currently "official". However our export software >> that manages the extraction of the records from the old system and the >> upload to Invenio uses multiprocessing and therefore we need to run it >> with Python 2.6. > > actually the multiprocessing library has been backported to Python 2.4 > and you can easily generate an .rpm package for your distribution (which > if I well remember is CentOS), by simply downloading it from: > > <http://pypi.python.org/packages/source/m/multiprocessing/multiprocessing-2.6.2.1.tar.gz> > > and then running within the sources: > > python setup.py bdist_rpm \ > --packager="Benoit Thiell <[email protected]>" \ > --release="whatever" --fix-python > >> At first I simply added symlinks to the Invenio libraries in >> /usr/lib(64)?/python2.6/site-packages but ran into problems because >> the intbitset library is compiled with Python 2.4. >> >> I am not satisfied with the solution I found to make the Invenio >> libraries available to several versions of Invenio, which is to >> install a whole new Invenio directory with another Python executable >> (./configure --with-python=...) and make the symlinks to this new >> directory. This means that we have to always install twice and we have >> the risk of having inconsistent libraries and therefore can run into >> problems. >> >> So is there a way to install intbitset on its own and link to the same >> libraries from different versions of Python? > > this is a more complex issue that requires much more deepening (but it's > basically bed time for me...), and I will try to provide you a better
easy_install intbitset That would do pretty well (yum|apt get as well). OR, given the ticket from today about BibRank needing cythonisation; maybe we could just have all the c-extension modules in one place and retrieve them based on the Python version. Such as: from invenio.cmodules import intbitset invenio/cmodules/__init__.py will make sure that only Python2.4 is available if I run Invenio with Python2.4, but I can also put there Python2.6 version and it will work the same While this might not touch all installations, a few people will have the same problems as Benoit. intbitset inside Invenio makes it impossible to run the same code for several sites (or even machines) - on my side it is the search service that uses Solr. Because of intbitset I had to install new Invenio (where I could just run from the existing code base) Cheers! roman > answer in another email (unless someone has a quick solution to Benoit's > problem) > > Cheers! > Sam > > > -- > Samuele Kaplun > Invenio Developer ** <http://invenio-software.org/> > >

