On 1/22/2013 4:24 AM, Tim Golden wrote:
[Python 2.7/3.3 (and hg tip) running on Windows. Not Windows-specific,
though].

I use the python -mpackage incantation to run a package which has a
__main__.py module and which uses relative imports internally.

I'm developing under cherrypy which includes a reloader for development.
The reloader attempts to rebuild the original
command line by combining sys.executable and sys.argv and then does an
execv.

There does not appear to be any way within Python of determining the
command line I used. The combination of sys.executable and sys.argv in
this case will look like: "c:\python33\python.exe app/__main__.py". But
running this precludes the use of package-relative imports.

If I understand right, the reloader should be updated to translate 'x/__main__.py' to '-m x'. Filenames of form'__x__' are reserved, in a sense, like similar identifiers in programs, and '__main__.py' should not be used for a file meant to executed directly.

--
Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to