[Python-Dev] Relatwd: py3 import strategy (was: Setting project home path the best way(
tismer at stackless.com
Sun Nov 11 21:53:40 CET 2012
Once again on this:
With the introduction of module folders
without __init__, it has become even harder to deduce a sensible project root
Dir without relying on a global settings file. Abd as you probably agree, such files are a bad idea. Any global is bad, also in the file system.
Guido, this is another reason why I dislike the absence of __init__. :
Rhere is no longer an indicator that pretty clearly defines the root of my module heirarchy.
Cheers, hoping for enlightment - chris
Sent from my Ei4Steve
On Nov 11, 2012, at 21:31, Christian Tismer <tismer at stackless.com> wrote:
> Hi friends,
> I have a project that has its root somewhere on my machine.
> This project has many folders and contains quite some modules.
> There is a common root of the module tree, and I want to use
> - either absolute imports
> - relative imports with '.'
> - I want to run any module inside the heirarchy from the command-line
> - this should work, regardless what my 'cwd' is
> - this should work with or without virtualenv.
> So far, things work fine with virtualenv, because sys.executable is in the project module tree.
> Without virtualenv, this is not so. But I hate to make settings like PYTHONPATH, because these are not permanent. .
> How should I define my project root dir in a unique way, without setting an environment variable?
> What is the lest intrusive way to spell that?
> I'd like to make things work correctly and unambigously when I call a script
> inside the module heirarchy. Things are not fixed: there exist many checkouts
> In the file system, and each should know where to search its home/root in the tree.
> Is this elegantly possible to deduce from the actually executed script file?
> Cheers - chris
> Sent from my Ei4Steve
> Python-Dev mailing list
> Python-Dev at python.org
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/tismer%40stackless.com
More information about the Python-Dev