ive no idea what __main__.py is either ?   where's the SQLAlchemy exceptions 
here ?  (keeping in mind i havent yet gone through all the steps to download a 
file...untar it...figure out what you're trying to do...)  


On Oct 3, 2011, at 6:11 AM, Chris Withers wrote:

> Hi All,
> 
> The attached package gives that smallest possible example of problems I'm 
> hitting with some SQLAlchemy declarative classes.
> 
> In short, I want to be able to do:
> 
> python -m pack.module and have if the __name__=='__main__' block spit out the 
> SQL to create the tables necessary for the modules in that class...
> 
> So, using the attached package to demonstrate, the first problem I get is:
> 
> cwithers@cwlin:~> python -m pack.module
> Traceback (most recent call last):
>   File "/usr/lib64/python2.6/runpy.py", line 121, in _run_module_as_main
>     "__main__", fname, loader, pkg_name)
>   File "/usr/lib64/python2.6/runpy.py", line 34, in _run_code
>     exec code in run_globals
>   File "/home/cwithers/pack/module.py", line 3, in <module>
>     class MyClass(object):
>   File "pack/__init__.py", line 7, in __init__
>     raise Exception('%r registered twice' % self.__name__)
> Exception: 'MyClass' registered twice
> 
> Looks like I have a pack.module.MyClass and a __main__.MyClass, which feels 
> like a bug to me...
> 
> Ho hum, lets try something different:
> 
> cwithers@cwlin:~> python pack/module.py
> Traceback (most recent call last):
>   File "pack/module.py", line 1, in <module>
>     from pack import MyMeta
> ImportError: No module named pack
> 
> Meh, okay, so only the path containing the script being run ends up on 
> PYTHONPATH, okay, so:
> 
> cwithers@cwlin:~> PYTHONPATH=. python pack/module.py
> Traceback (most recent call last):
>   File "pack/module.py", line 3, in <module>
>     class MyClass(object):
>   File "pack/__init__.py", line 7, in __init__
>     raise Exception('%r registered twice' % self.__name__)
> Exception: 'MyClass' registered twice
> 
> ...back to square one :-(
> 
> cwithers@cwlin:~> python -m pack
> /usr/bin/python: pack is a package and cannot be directly executed
> 
> That's annoying, why isn't pack/__init__.py's __name__=='__main__' block 
> executed?
> 
> cwithers@cwlin:~> python pack
> /usr/bin/python: can't find '__main__.py' in 'pack'
> 
> Wha? First I've ever heard of __main__.py... where's that documented?
> Anyway:
> 
> cwithers@cwlin:~> python pack/__init__.py
> Traceback (most recent call last):
>   File "pack/__init__.py", line 10, in <module>
>     from pack.module import MyClass
> ImportError: No module named pack.module
> 
> Oh, right, we're back here..., so lets try:
> 
> cwithers@cwlin:~> PYTHONPATH=. python pack/__init__.py
> {'MyClass': <class 'pack.module.MyClass'>}
> {}
> 
> wtf? why aren't these the same registry object?!
> 
> Any help appreciated...
> 
> Chris
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> To unsubscribe from this group, send email to 
> sqlalchemy+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/sqlalchemy?hl=en.
> 
> <pack.tgz>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to