расположение python на mac osx


Я немного запутался с python на osx. Я не знаю, установил ли предыдущий владелец ноутбука macpython с помощью macport. И я вспомнил, что osx имеет встроенную версию python. Я пробовал использовать type -a python и результат возвращается

python is /usr/bin/python
python is /usr/local/bin/python

однако запуск обоих python в этих местах дает мне [GCC 4.2.1 (Apple Inc. build 5646)] on darwin. Они оба относятся к одному и тому же встроенному python mac?

Я также читал, что установка macpython one будет

     A MacPython 2.5 folder in your Applications folder. In here you
 find IDLE, the development environment that is a standard part of
 official Python distributions...

Я посмотрел на Applications и с python2.6 и упомянутые вещи в нем. Но, работая вхолостую, я нахожу то же сообщение, что и выше.

Хм, я немного запутался. Что есть что?

10 61

10 ответов:

[GCC 4.2.1 (Apple Inc. build 5646)] - это версия GCC, с которой были построены Python(Ы), а не сама версия Python. Эта информация должна быть в предыдущей строке. Например:

# Apple-supplied Python 2.6 in OS X 10.6
$ /usr/bin/python
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

# python.org Python 2.7.2 (also built with newer gcc)
$ /usr/local/bin/python
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

элементов /usr/bin всегда должны быть или ссылки на файлы, поставляемые Apple в OS X, если кто-то не был неразумно изменить вещи там. Чтобы увидеть, где именно /usr/local/bin/python это связано с:

$ ls -l /usr/local/bin/python
lrwxr-xr-x  1 root  wheel  68 Jul  5 10:05 /usr/local/bin/python@ -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python

в этом случае это типично для a python.org установленный экземпляр Python или it может быть построен из исходников.

на Mac OS X, это в рамках Python в /System/Library/Frameworks/Python.framework/Resources.

полный путь:

/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python

кстати, легко узнать, где вы можете найти конкретный двоичный файл:which Python покажет вам путь вашего двоичного файла Python (который, вероятно, такой же, как я опубликовал выше).

Я нашел самый простой способ, чтобы найти его, вы можете использовать

which python

он покажет что-то вроде этого:

/usr/bin/python

На Высокой Сьерра -

which python

показывает python по умолчанию, но если вы загрузили и установили последнюю версию из python.org вы можете найти его по:

which python3.6

что на моей машине показывает

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6

установлен с 'brew install python3', нашел его здесь enter image description here

это один для Python3 и Mac:

если у вас есть Mac и вы установили python3, как и большинство из нас:) с:

brew install

ваш файл находится в:

/usr/local/Cellar/python/3.6.4_4/bin/python3

откуда ты знаешь? Беги:

which python3

вы должны:

/usr/local/bin/python3

теперь это символическая ссылка, откуда ты знаешь? Беги:

ls -al /usr/local/bin/python3 

и вы получите:

/usr/local/bin/python3 -> /usr/local/Cellar/python/3.6.4_4/bin/python3

что означает

/usr/local/bin/python3 

is фактически указывая на:

/usr/local/Cellar/python/3.6.4_4/bin/python3

если, по какой-то причине, ваш

/usr/local/bin/python3 

не указывает на то место, которое вы хотите, что в нашем случае:

/usr/local/Cellar/python/3.6.4_4/bin/python3

просто сделайте резервную копию:

cp /usr/local/bin/python3{,.orig} 

и

rm -rf /usr/local/bin/python3

Теперь создайте новую символьную ссылку:

ln -s /usr/local/Cellar/python/3.6.4_4/bin/python3 /usr/local/bin/python3 

и теперь ваш

/usr/local/bin/python3

указывает

/usr/local/Cellar/python/3.6.4_4/bin/python3 

проверьте это, запустив:

ls -al /usr/local/bin/python3

Я нашел его здесь: / Библиотека / Фреймворки / Python.framework / Versions/3.6 / bin

Я проверил несколько подобных обсуждений и выяснил, что лучший способ найти все сборки python2 / python3-это:

which -a python python3

у меня есть рецепт повара для поиска вещей в linux / macos

сначала обновите базу данных locate, а затем выполните

locate WHATiWANTtoSEARCH | less

сделать /найти, чтобы найти то, что вы ищете.

чтобы обновить базу данных locate в macos, сделайте следующее:

sudo /usr/libexec/locate.updatedb

это иногда занимает некоторое время. Надеюсь, это поможет :)

запустите это в своем интерактивном терминале

import os
os.path

Это даст вам папку, где установлен Python