Як я можу оновити встановлення Python за замовчуванням / виправити свій $ PATH на Mac OS X 10.6.7?


8

Я знаю, що це питання було задано раніше на цьому веб-сайті, і я знайшов пару гідних дискусій, але рішення, які я знайшов і спробував, не працюють. Я хочу вивчити Python, і у мене виникають проблеми з його правильним налаштуванням на моєму Mac. У мене працює ОС X 10.6.7.

Я завантажив інсталятор Python 3.2 з python.org і встановив його, до якого встановлено /Library/Frameworks/Python.framework/Versions/3.2/bin. Наразі це добре, оскільки я можу просто використовувати IDLE для розробки. Щоб використовувати 3.2 з командного рядка, pythonя намагався змінити порядок $PATHзмінної. Ось так ~/.profileвиглядає:

PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

Однак, pythonвсе ще запускає 2.6.1:

steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ . ./.profile
steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ 

Дещо боровшись із цим, я вирішив просто видалити 3.2 та спробувати оновити системну установку Python. Я не знаю, як правильно це зробити, тому мені або потрібно отримати 3.2 роботи з командним рядком або оновлення 2.6.1.

Відповіді:


5

Я просто вирішив цю проблему, встановивши Python 3.2.2 на моєму Mac OS X Lion, тому я подумав, що опублікую, як це робив, сподіваючись, що хтось може вважати його корисним.

По-перше, я погоджуюся з відтінками та кольором у тому, що ви не повинні змінювати копію python за замовчуванням, що постачається з вашим mac, оскільки можуть бути сценарії, які можуть не працювати належним чином під час роботи з інтерпретатором Python 3.0+. Сказавши, що для встановлення останнього Python (3.2.2 на час цієї публікації) спочатку слід завантажити інсталятор Python з офіційного веб-сайту. Встановити відповідно. Запустіть файл «Оновити програму Shell Profile.command» у папці / Applications / Python (ver).

Після встановлення python вам потрібно відредагувати свій шлях, ввівши "командний рядок" sudo nano / etc / paths ". Далі введіть свій пароль, коли буде запропоновано. Далі просто "виріжте" рядок "/ usr / local / bin" і "вставте" її до появи "/ usr / bin". Збережіть файл, закрийте будь-які відкриті термінали та запустіть новий екземпляр терміналу. Тепер, коли ви введете "python" у командному рядку, оболонка спочатку здійснить пошук через / usr / local / bin та запустить останню копію python.


+1, оскільки я цілий день намагаюся з'ясувати це. Дійсно, у Snow Leopard, якщо встановити PATH у вашій конфігурації оболонки не працює, редагування, /etc/pathяк ви запропонували, працює ідеально. Для мене проблема полягала в тому, щоб розпізнати як графічний, так і термінальний emacs, що я хотів використовувати власну установку python. Дякую за пораду!
jrhorn424

це спрацювало, якщо я також cd /usr/local/binі cp python3.7 pythonі перезапустив свій термінал.
openwonk

1

З мого досвіду, використання символьних посилань разом із належним чином впорядкованим PATH є способом співіснування декількох версій Python в OS X або будь-який інший nix, про який я можу придумати. OS X просто трохи гуфі, але він працює так само.

Спочатку створіть повне зображення, виконавши наступні команди:

which python

Тоді:

ls -la /usr/bin/python*

і порівняйте з:

ls -la /usr/local/bin/python*

Подивіться, куди вказують символьні посилання.

Виходячи з опублікованого вами PATH, оскільки / usr / bin приходить після / usr / local / bin та інших, напевно, ви використовуєте інтерпретатора системного пітона:

/usr/bin/python

Якщо ви встановили python3.0, він, ймовірно, працюватиме так:

/usr/local/bin/python

Тепер, коли ви знаєте, що вказує куди і який інтерпретатор завантажується з PATH, ви можете внести відповідні зміни в PATH та / або символьні посилання. Потім ви можете використовувати ті самі методи, щоб підтвердити належні зміни.

Для отримання додаткової інформації про встановлення python на macOS див. Занурення в python3 та farmdev .


/usr/local/bin/pythonне існує, але є /usr/local/bin/python3. python3 --versionдає мою установку (3.2). Чи можу я просто перейменувати цю символьну посилання, щоб pythonмені не довелося вводити 3?
Стівен Зазулак

Якщо ваш PATH впорядкований правильно (/ usr / local / bin приходить після / usr / bin), ви можете просто створити символьне посилання, яке це робить.
Сомантра

1
Але якщо / usr / bin приходить після / usr / local / bin, він продовжує завантажувати системний python (/ usr / bin / python).
Сомантра

0

Можливо, якщо встановити Python через MacPorts, він оновить версію системи. Я насправді цього не підозрюю, як це здається для мене ризикованим. Але ви, можливо, захочете перевірити, що робить MacPorts під час встановлення з ним Python.


0

Я вже задавав комусь це запитання раніше, і мені не рекомендували змінювати версію python за замовчуванням, оскільки частини операційної програми можуть залежати від того, де версія 2.7 знаходиться там, де вона є. Якщо говорити, то не так вже й багато роботи, щоб поставити команду python3 на свій шлях. Це я зараз роблю, і це здається прекрасним.


0

Якщо ви використовували інсталятор, ваш python знаходиться в / usr / local / bin / python3. Шляхи також повинні бути оновлені автоматично, щоб стати доступними, як python3у вашому терміналі. Старий pythonвсе ще доступний і може використовуватися іншими системами.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.