[Python-ideas] PEP for executing a module in a package containing relative imports (original) (raw)
Brett Cannon brett at python.org
Fri Apr 20 19:46:46 CEST 2007
- Previous message: [Python-ideas] PEP for executing a module in a package containing relative imports
- Next message: [Python-ideas] PEP for executing a module in a package containing relative imports
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 4/20/07, Josiah Carlson <jcarlson at uci.edu> wrote:
"Brett Cannon" <brett at python.org> wrote: > I realized two things that I didn't mention in the PEP. > > One is that Python will have to infer the proper package name for a > module being executed. Currently Python only knows the name of a > module because you asked for something and it tries to find a module > that fits that request. But what is being proposed here has to figure > out what you would have asked for in order for the import to happen. > So I need to spell out the algorithm that will need to be used to > figure out
python bacon/_init_.py
is the bacon package. Using > the '-m' option solves this as the name is given as an argument. There's also the rub that if you 'run' the module in /a/b/c/d/e/f.py, but all a-e are packages, the "proper" semantics may state that you need to import a/init.py, a/b/init.py, etc., prior to the execution of f.py . Of course the only way that you would know that is if you checked the paths .../e/, .../d/, etc. The PEP should probably be changed to state the order of imports in a case similar to this, and whether or not it bothers to check ancestor paths for package information.
Good point. It's one of the ways my import implementation differs from the current one as I just import the parent up to the requested module while the current implementation throws an exception.
-Brett
- Previous message: [Python-ideas] PEP for executing a module in a package containing relative imports
- Next message: [Python-ideas] PEP for executing a module in a package containing relative imports
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]