your modules should be available and importable in a proper way, typically installed within a virtual environment with “pip install -e”.
On Aug 12, 2014, at 6:53 PM, Anton <[email protected]> wrote: > Actually, I was too soon to say it works now. > with > sys.path.append(os.path.abspath(os.path.dirname(__file__))) > branches command works. > but upgrade fails on the other hand if I have > sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), > '..'))) > then branches fails, but upgrade works. > > On Monday, August 11, 2014 5:51:46 PM UTC-7, Anton wrote: > You are right Michael, in my alembic/env.py I had a line: > sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), > '..'))) > > I replaced it with > sys.path.append(os.path.abspath(os.path.dirname(__file__))) > Is there any better or let's more conventional way of setting this up? > > And it works now, if I run the script from my root directory, that contains > my_app and alembic directories. I was confused, because other commands would > run without issues. > > Thanks a lot! > > On Monday, August 11, 2014 5:24:11 PM UTC-7, Michael Bayer wrote: > I would guess this is a side effect of something that occurs in your env.py > script. Not all commands load env.py, so if your migration files depend on > env.py being loaded in order for their imports to work that would be what’s > happening here. > > > > On Aug 11, 2014, at 8:21 PM, Anton <[email protected]> wrote: > >> I have a flask application. My project tree looks like: >> . >> ├── Procfile >> ├── README.md >> ├── alembic >> ├── alembic.ini >> ├── my_app >> ├── requirements.txt >> ├── start_server.py >> └── venv >> >> Where my_app contains Flask application, for some reason branches command >> fails to run with an error ImportError: No module named my_app.types >> Traceback (most recent call last): >> File "/Users/anton/dev/my_app/venv/bin/alembic", line 9, in <module> >> load_entry_point('alembic==0.6.5', 'console_scripts', 'alembic')() >> File >> "/Users/anton/dev/my_app/venv/lib/python2.7/site-packages/alembic/config.py", >> line 298, in main >> CommandLine(prog=prog).main(argv=argv) >> File >> "/Users/anton/dev/my_app/venv/lib/python2.7/site-packages/alembic/config.py", >> line 293, in main >> self.run_cmd(cfg, options) >> File >> "/Users/anton/dev/my_app/venv/lib/python2.7/site-packages/alembic/config.py", >> line 279, in run_cmd >> **dict((k, getattr(options, k)) for k in kwarg) >> File >> "/Users/anton/dev/my_app/venv/lib/python2.7/site-packages/alembic/command.py", >> line 200, in branches >> for sc in script.walk_revisions(): >> File >> "/Users/anton/dev/my_app/venv/lib/python2.7/site-packages/alembic/script.py", >> line 81, in walk_revisions >> heads = set(self.get_heads()) >> File >> "/Users/anton/dev/my_app/venv/lib/python2.7/site-packages/alembic/script.py", >> line 288, in get_heads >> for script in self._revision_map.values(): >> File >> "/Users/anton/dev/my_app/venv/lib/python2.7/site-packages/alembic/util.py", >> line 268, in __get__ >> obj.__dict__[self.__name__] = result = self.fget(obj) >> File >> "/Users/anton/dev/my_app/venv/lib/python2.7/site-packages/alembic/script.py", >> line 213, in _revision_map >> script = Script._from_filename(self, self.versions, file_) >> File >> "/Users/anton/dev/my_app/venv/lib/python2.7/site-packages/alembic/script.py", >> line 496, in _from_filename >> module = util.load_python_file(dir_, filename) >> File >> "/Users/anton/dev/my_app/venv/lib/python2.7/site-packages/alembic/util.py", >> line 212, in load_python_file >> module = load_module_py(module_id, path) >> File >> "/Users/anton/dev/my_app/venv/lib/python2.7/site-packages/alembic/compat.py", >> line 58, in load_module_py >> mod = imp.load_source(module_id, path, fp) >> File "alembic/versions/213495jl1br_.py", line 39, in <module> >> from my_app.types import DbType >> ImportError: No module named my_app.types >> >> Other commands like upgrade or revision --autogenerate work fine. >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "sqlalchemy-alembic" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. > > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy-alembic" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "sqlalchemy-alembic" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
