[Python-Dev] Relatwd: py3 import strategy (was: Setting project home path the best way(

Christian Tismer 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 '.'
> Problem:
> - 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. .  
> Question:
> 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?
> Reason:
> 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
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/tismer%40stackless.com

More information about the Python-Dev mailing list