[Distutils] Two versions of SQLAlchemy side-by-side?

Alexander Michael lxander.m at gmail.com
Tue Apr 29 18:03:12 CEST 2008


On Tue, Apr 29, 2008 at 11:42 AM,  <skip at pobox.com> wrote:
>
>     Alexander> The quick hack to request a version, good to use in the
>     Alexander> interpreter or a "throw-away" script:
>
>     Alexander> import pkg_resources
>     Alexander> pkg_resources.require('SQLAlchemy==0.4.5')
>     Alexander> import sqlalchemy
>
>     Alexander> This works when the directory that SQLAlchemy-0.4.5-py2.4.egg
>     Alexander> is in is listed in sys.path.
>
>  Thanks, however that raises a VersionConflict exception:
>
>
>     >>> pkg_resources.require('SQLAlchemy==0.4.5')
>     Traceback (most recent call last):
>       File "<stdin>", line 1, in ?
>       File "/opt/app/g++lib6/python-2.4.5/lib/python2.4/site-packages/setuptools-0.6c7-py2.4.egg/pkg_resources.py", line 626, in require
>         needed = self.resolve(parse_requirements(requirements))
>       File "/opt/app/g++lib6/python-2.4.5/lib/python2.4/site-packages/setuptools-0.6c7-py2.4.egg/pkg_resources.py", line 528, in resolve
>         raise VersionConflict(dist,req) # XXX put more info here pkg_resources.VersionConflict: (SQLAlchemy 0.3.3
>     (/opt/app/g++lib6/python-2.4.5/lib/python2.4/site-packages/SQLAlchemy-0.3.3-py2.4.egg), Requirement.parse('SQLAlchemy==0.4.5'))
>
>  I need 0.3.3 to be the default version, but need to be able to import 0.4.5
>  for testing.

Ah. Yes. I install everything --multi-version so I have forgotten
about this issue with the default working set. Maybe

__requires__ = ['SQLAlchemy==0.4.5']
import pkg_resources
import sqlalchemy

will help pkg_resources create the desired WorkingSet.


More information about the Distutils-SIG mailing list