On Feb 25, 2009, at 3:20 PM, Vincent Davis wrote:

I have looked around for a good howto setup PYTHONPATH on Mac os x
10.5 Although I get many results I am not sure which is correct. I am not sure if it is different for 10.5 over previous versions. Does anyone know of
a well documented set of instructions.

Is there a way to specify a module location or working directory? Which is
best? Or should I just add location to PYTHONPATH?


Hi Vincent,
There are different instructions on how to set PYTHONPATH because it solves a problem (how to organize one's Python modules) that has more than one solution. It's sort of like asking "How should I organize my email?" Different strokes for different folks.

Me, I don't use PYTHONPATH at all. Most of the stuff I want to import is already available in site-packages. If not, I can add a .pth file to site-packages that tells Python where to find the source. You can read about .pth files here:
http://docs.python.org/library/site.html


In my python scripts I specify which python I want to use like this
#!/Library/Frameworks/Python.framework/Versions/4.1.30101/bin/python

Yikes! Your scripts won't be too portable then, will they? I'm on OS X 10.5 and I don't have a directory like that. A common, more portable alternative is this:

#!/usr/bin/env python

That relies (obviously) on /usr/bin/env being present which means that your scripts won't work on Windows machines, for instance. But it's a whole lot more portable than what you've got now. You don't need a shebang line at all if you're willing to launch your scripts by typing `python foo.py` at the command line. That will merely execute whichever python appears first in your path. I used to always use the / usr/bin/env shebang line that I described above, but I do so less often now. It's one less dependency to deal with.

So, in short, PYTHONPATH doesn't need to be set at all, and you can switch the shebang line to this:

#!/usr/bin/env python

Or do away with it entirely.

This isn't a complete answer but has it been at least somewhat helpful?

Cheers
Philip






--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to