[Python-Dev] Change to sys.path[0] for Python 2.3

Jack Jansen jack@oratrix.nl
Wed, 21 Nov 2001 17:53:55 +0100


I'm not too thrilled about this, especially not in the 2.2 release cycle. The 
sys.path logic is difficult, and everytime a change was made on one platform 
this change immedeately broke things on all other platforms. For instance: on 
the Mac full pathnames are not necessarily unique. Or another example: on unix 
you could have your working directory in /foo/bar/bletch and access 
./blurgh.py there, but not access /foo/bar/bletch/blurgh.py: /foo/bar could be 
unsearchable for you.

And the "python -c" mod I really disagree with. 'python -c "import foo"' in 
the directory containing foo.py is the standard way of using this, which you 
would break.

> I have been working on import.c and thinking about
> imports generally.  Currently, the directory of the
> Python script is inserted into sys.path[0].  For example,
> "python /A/B/myscript.py" creates sys.path[0] = "/A/B", and
> "python myscript.py" creates sys.path[0] = "".  But there
> are three problems.
> 
> This insertion occurs after a number of imports have already
> occurred.  Specifically, it occurs after the import of site,
> os, and sitecustomize.  This is confusing.  It is clear that
> sys.path should not change unless the user changes it.
> 
> If no path component is given, the zero length string is
> inserted.  But if the current working directory later
> changes, this is no longer valid.  If we want the directory
> of the script to be sys.path[0], then an absolute path should
> be inserted.
> 
> If a command is entered using "-c", I don't think any insertion
> to sys.path should be made, as there is no indicated directory.
> Alternatively, the absolute path getcwd() should be inserted.
> 
> If everyone agrees, I will create a patch.
> 
> Jim Ahlstrom
> 
> _______________________________________________
> Python-Dev mailing list
> Python-Dev@python.org
> http://mail.python.org/mailman/listinfo/python-dev
> 

--
Jack Jansen             | ++++ stop the execution of Mumia Abu-Jamal ++++
Jack.Jansen@oratrix.com | ++++ if you agree copy these lines to your sig ++++
www.cwi.nl/~jack        | see http://www.xs4all.nl/~tank/spg-l/sigaction.htm