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