Newbie: where's the new python gone?
Hans Mulder
hansmu at xs4all.nl
Mon Sep 10 11:22:12 EDT 2012
On 10/09/12 15:04:24, William R. Wing (Bill Wing) wrote:
> On Sep 9, 2012, at 10:28 AM, BobAalsma <overhaalsgang_24_bob at me.com> wrote:
>
>> I think I've installed Python 2.7.3 according to the instructions in the README, and now want to use that version.
>> However, when typing "python" in Terminal, I get "Python 2.6.4 (r264:75821M, Oct 27 2009, 19:48:32) ".
>> So:
>> (1) I can't seem to find where the new software has gone and
>> (2) can't seem to find how to point to this new versoin.
>> I've searched Python.org and with Google but :(
>> [I'm on Mac OS X 10.7.4]
>>
>> Please help.
>> --
>> http://mail.python.org/mailman/listinfo/python-list
>
> Bob, I'm coming into this late, but it doesn't appear that you've
< gotten a satisfactory answer yet. Let's take it one step at a time.
>
> First, if none of the hints you've received earlier have gotten you going.
> Maybe the thing is to resort to a bigger hammer. In a terminal window:
>
> $sudo find / -name Python -print<return>
>
> This will search the entire file system for all the files named Python
Trouble is, the file you're looking for is named "python" and this
command is case-sensitive. So the command you need would be:
sudo find / -name python -print
> and will ask for your admin password so it can search in directories
> owned by root.
The file you're looking for is in a directory that you can read
with more mundane permissions, so you might want to leave off
the "sudo" prefix. If you do, you'll get some message about
permission problems.
> (It may also generate quite a bit of output, so you might want
> to capture it in a file.)
For example:
find / -name python > /tmp/pythons.txt 2> /dev/null
The 2>/dev/null bit throws away warnings about permission problems
and the like.
Alternatively, you can cut down the output like so:
find / -name python -print | grep bin/python
That will only report pythons found in directories named "bin".
On my laptop, that cuts the output down to:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/opt/local/bin/python
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/python
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/System/Library/Frameworks/Python.framework/Versions/2.5/bin/python
/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python
/usr/bin/python
/usr/local/bin/python
Those are all valid python interpreters, or wrappers for same.
> In any case, this will take several minutes and while it is running,
> you can be checking a couple of other things. OS X doesn't use a
> .bashrc file by default (you can make it do so if you want, but
> that's extra work right now). It uses .login and then .profile
> to set up your python path _if_ you've used the installer from python.org.
I doubt it. What files are used, depends on which shell you use.
Bash uses .profile; the C shell uses .login and .cshrc.
I don't think there is a shell that can read both .login and .profile
since .login typically uses C shell syntax and .profile uses Bourne
shell syntax.
If you're not sure which shell you have, type
echo $SHELL
at the shell prompt.
> So, look to see if you have a .profile in your ~ directory. If so,
> then you're using (or have used at some point in the past) an installer
> from python.org.
> It should have an entry that looks something like the following:
>
> # Setting PATH for Python 2.7
> # The original version is saved in .profile.pysave
> PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
> export PATH
>
> Note the distinction between this path and the one from Apple.
> The python that ships from Apple is in /System/Library/Frameworks…
>
> Do NOT touch the one from Apple. Apple uses it for some of its
> housekeeping operations and you want it to stay just as Apple
> installed it.
+1
> When you finally find the Python 2.7 in the output from the "find"
> command, you can edit your .login (if you don't have a .profile) or
> edit .profile if you do.
Hope this helps,
-- HansM
More information about the Python-list
mailing list