Если вы не изменили набор пакетов по умолчанию при использовании установщика python.org, при вводе python
из командной строки следует запустить только что установленный Python 2.7. (Вам нужно будет начать новый сеанс терминала после запуска установщика, чтобы увидеть это.) Текущие установщики python.org для OS X создают папку в каталоге приложений с именем Python m.n
в зависимости от версии Python. Если вы посмотрите в /Applications/Python 2.7
, вы увидите файл с именем Update Shell Profile.command
. Это сценарий оболочки; Вы можете проверить это в редакторе или с помощью Quicklook. Его целью является изменение файлов запуска для наиболее распространенных программ оболочки в OS X (bash
, sh
, csh
), чтобы обеспечить добавление каталога, в котором расположены исполняемые команды нового Python, в начало список каталогов в переменной окружения PATH, так что команды python в нем будут найдены до того, как будут найдены команды python, поддерживаемые Apple. По умолчанию установщик автоматически запускает для вас Update Shell Profile.command
. Это должно привести к примерно так:
$ cat ~/.bash_profile
# .bash_profile
# ... other stuff
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
Если вы посмотрите в этот каталог, вы должны увидеть что-то вроде этого:
$ ls -l /Library/Frameworks/Python.framework/Versions/2.7/bin
total 272
lrwxr-xr-x 1 root admin 8 Nov 30 00:49 2to3@ -> 2to3-2.7
-rwxrwxr-x 1 root admin 140 Nov 30 00:30 2to3-2.7*
lrwxr-xr-x 1 root admin 7 Nov 30 00:49 idle@ -> idle2.7
-rwxrwxr-x 1 root admin 138 Nov 30 00:30 idle2.7*
lrwxr-xr-x 1 root admin 8 Nov 30 00:49 pydoc@ -> pydoc2.7
-rwxrwxr-x 1 root admin 123 Nov 30 00:30 pydoc2.7*
lrwxr-xr-x 1 root admin 9 Nov 30 00:49 python@ -> python2.7
lrwxr-xr-x 1 root admin 16 Nov 30 00:49 python-config@ -> python2.7-config
-rwxrwxr-x 1 root admin 33764 Nov 30 00:31 python2.7*
-rwxrwxr-x 1 root admin 1663 Nov 30 00:31 python2.7-config*
lrwxr-xr-x 1 root admin 10 Nov 30 00:49 pythonw@ -> pythonw2.7
-rwxrwxr-x 1 root admin 33764 Nov 30 00:31 pythonw2.7*
lrwxr-xr-x 1 root admin 11 Nov 30 00:49 smtpd.py@ -> smtpd2.7.py
-rwxrwxr-x 1 root admin 18586 Nov 30 00:30 smtpd2.7.py*
Новый питон доступен как команда python2.7
, но есть символическая ссылка на него как python
. Поскольку среда PATH была изменена:
$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
когда вы набираете python
в качестве команды в оболочке, эта символическая ссылка будет найдена первой перед поставляемой Apple python
в /usr/bin
одной из директорий, где установлены системные пользовательские команды (как в ОС X 10,6):
$ ls /usr/bin/py*
/usr/bin/pydoc* /usr/bin/python-config* /usr/bin/python2.6-config@
/usr/bin/pydoc2.5@ /usr/bin/python2.5@ /usr/bin/pythonw*
/usr/bin/pydoc2.6@ /usr/bin/python2.5-config@ /usr/bin/pythonw2.5@
/usr/bin/python* /usr/bin/python2.6@ /usr/bin/pythonw2.6@
(Обратите внимание, что в общем случае вы не должны пытаться изменять или удалять файлы в /usr/bin
, поскольку они являются частью OS X и управляются Apple.)
Есть много способов управлять несколькими установками Python в OS X; проверьте архивы или сеть. Следует иметь в виду, что вы всегда можете использовать абсолютный путь к нужной команде python для проверки. Таким образом, с измененным путем, как указано выше, вы должны увидеть следующее поведение:
$ /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 -c 'import sys;print(sys.version)'
2.7.1 (r271:86882M, Nov 30 2010, 09:39:13)
[GCC 4.0.1 (Apple Inc. build 5494)]
$ python2.7 -c 'import sys;print(sys.version)'
2.7.1 (r271:86882M, Nov 30 2010, 09:39:13)
[GCC 4.0.1 (Apple Inc. build 5494)]
$ python -c 'import sys;print(sys.version)'
2.7.1 (r271:86882M, Nov 30 2010, 09:39:13)
[GCC 4.0.1 (Apple Inc. build 5494)]
$ /usr/bin/python -c 'import sys;print(sys.version)'
2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)]
$ /usr/bin/python2.6 -c 'import sys;print(sys.version)'
2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)]