Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Помощь по программированию на языке Python / Питон

ТЕМА: Патч к Python'у 3 для $PYTHONPATH3

Патч к Python'у 3 для $PYTHONPATH3 7 мес. 3 дн. назад #1587

  • saahriktu
  • saahriktu аватар
  • Вне сайта
  • Администратор
  • Сообщений: 265
  • Спасибо получено: 36
  • Репутация: 36
А про этот патч я хочу написать отдельно, поскольку он ломает официальное документированное поведение Python'а 3. Как говорится, на ваш страх и риск. Однако, он устраняет серьёзную недоработку, которая может приводить к чехарде с необходимостью переопределения переменной окружения $PYTHONPATH при переключении между разными версиями Python'а.

Итак. Переменную $PYTHONPATH знают обе версии Python'а. И 2-я и 3-я. Если настроить её для 3-его Python'а, то об неё начнёт спотыкаться Python 2. А если переопределить её для 2-го Python'а, то может перестать работать Python 3. При этом Python 2 знает переменную окружения $PYTHONPATH2. А вот Python 3 из коробки $PYTHONPATH3 не знает. Но, его можно научить смотреть именно в неё, а не в $PYTHONPATH:
sed -i 's/\"PYTHONPATH\"/\"PYTHONPATH3\"/' PC/getpathp.c
sed -i 's/\"PYTHONPATH\"/\"PYTHONPATH3\"/' Modules/getpath.c
sed -i 's/\"PYTHONPATH\"/\"PYTHONPATH3\"/' Mac/IDLE/IDLE.app/Contents/MacOS/IDLE

После этого можно будет настроить $PYTHONPATH3 3-ему Python'у, и это не поломает Python 2.

Прикрученный к слакбилду патч здесь, уже собранный им пакет для x86_64 здесь.

Эта версия пакета у меня прекрасно работает с
export PYTHONPATH3="/usr/lib64/python3.6:/usr/lib64/python3.6/lib-dynload"
И об эту переменную окружения не спотыкается Python 2, да.
Администратор запретил публиковать записи гостям.
Время создания страницы: 0.470 секунд

О нас | Рассылка | Правила сайта | Правила форума | Поиск

При копировании какого-либо контента с сайта, ссылка на источник - ОБЯЗАТЕЛЬНА! В случае несоблюдения данного пункта будет отправлена жалоба на хостинг нарушителя и сайт будет закрыт (или оштрафован) по усмотрению оператора. Верьте в силу копирайта. Основатель портала: Валентин Щербаков 2013 - 2016

Программное обеспечение сайта распространяется по лицензии GNU General Public License.