qizhiyi / sqlalchemy-migrate

Automatically exported from code.google.com/p/sqlalchemy-migrate
MIT License
0 stars 0 forks source link

pip will install sqlalchemy-migrate with incompatable version of SQLAlchemy #175

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
In my setup.py I have:
requires = [
    'SQLAlchemy',
    'sqlalchemy-migrate',
]

I use pip to install all my dependencies in a virtualenv. Afterwards, pip 
freeze shows:
SQLAlchemy==1.0.0
sqlalchemy-migrate==0.9.6

I expected SQLAlchemy version to be <1.0.0 because sqlalchemy-migrate doesn't 
support anything above 0.9.99 (see requirements.txt).

This causes my application to crash on startup with this stack trace:
Traceback (most recent call last):
  File "/my/python/project/env/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
    return loadobj(APP, uri, name=name, **kw)
  File "/my/python/project/env/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 271, in loadobj
    global_conf=global_conf)
  File "/my/python/project/env/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/my/python/project/env/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 328, in _loadegg
    return loader.get_context(object_type, name, global_conf)
  File "/my/python/project/env/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 620, in get_context
    object_type, name=name)
  File "/my/python/project/env/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 640, in find_egg_entry_point
    pkg_resources.require(self.spec)
  File "/my/python/project/env/lib/python2.7/site-packages/pkg_resources.py", line 685, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/my/python/project/env/lib/python2.7/site-packages/pkg_resources.py", line 592, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (SQLAlchemy 1.0.0 
(/my/python/project/env/lib/python2.7/site-packages), 
Requirement.parse('SQLAlchemy>=0.7.8,!=0.9.5,<=0.9.99'))

Inside pkg_resources's resolve() I added a print statement showing what each 
package was requiring and I saw sqlalchemy-migrate was causing the problem:
extending requirements to include more stuff for package sqlalchemy-migrate: 
[Requirement.parse('sqlparse'), Requirement.parse('Tempita>=0.4'), 
Requirement.parse('pbr>=0.6,!=0.7,<1.0'),     
Requirement.parse('SQLAlchemy>=0.7.8,!=0.9.5,<=0.9.99'), 
Requirement.parse('decorator'), Requirement.parse('six>=1.7.0')]

I'm using Ubuntu 14.04 and python 2.7.6.

Original issue reported on code.google.com by Sergi...@gmail.com on 17 Apr 2015 at 5:01

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Same issue here. Our setup.py contains:

  install_requires=[
      "SQLAlchemy>=0.6",
      "sqlalchemy-migrate",
  ],

The problem can be reproduced quite easily in a virtualenv:

  pip install sqlalchemy-migrate sqlalchemy

will install SQLAlchemy==1.0.1 and sqlalchemy-migrate==0.9.6 (which are not 
compatible).

  pip install sqlalchemy-migrate

on the other hand will install SQLAlchemy==0.9.9 and sqlalchemy-migrate==0.9.6

Original comment by omar.k...@lsexperts.de on 24 Apr 2015 at 11:08