Custom PYTHONPATH not being seen by -m

Steve Holden steve at holdenweb.com
Tue Sep 18 21:54:11 EDT 2007


Vince Castellano wrote:
> Hello,
> 
> I am running RHEL5, with Python 2.4.3. I do not experience this
> problem on my other machines, which are 2.5.
> 
> The following should demonstrate my issue:
> 
> [16:38][vince:~]$ python -m srctools.symbol_replace -h
> python: module srctools.symbol_replace not found
> [16:40][vince:~]$ python
> Python 2.4.3 (#1, Dec 11 2006, 11:38:52)
> [GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import srctools.symbol_replace
>>>> srctools.symbol_replace
> <module 'srctools.symbol_replace' from '/usr/local/pymodules/srctools/
> symbol_replace.py'>
> [16:41][vince:~]$ echo $PYTHONPATH
> /usr/local/pymodules
> 
I suspect if you read "What's new in Python 2.5" you will find that the 
semantics of the -m option changed between the two releases. Let me see 
... right, here it is:

"""
The -m switch added in Python 2.4 to execute a module as a script gained 
a few more abilities. Instead of being implemented in C code inside the 
Python interpreter, the switch now uses an implementation in a new 
module, runpy.

The runpy module implements a more sophisticated import mechanism so 
that it's now possible to run modules in a package such as 
pychecker.checker. The module also supports alternative import 
mechanisms such as the zipimport module. This means you can add a .zip 
archive's path to sys.path and then use the -m switch to execute code 
from the archive.
"""

(from http://docs.python.org/whatsnew/pep-338.html).

In other words, 2.4 specifically didn't allow the command line import of 
package submodules.

regards
  Steve
-- 
Steve Holden        +1 571 484 6266   +1 800 494 3119
Holden Web LLC/Ltd           http://www.holdenweb.com
Skype: holdenweb      http://del.icio.us/steve.holden

Sorry, the dog ate my .sigline




More information about the Python-list mailing list