Настройка Python для использования дополнительных местоположений для пакетов сайтов

Есть ли способ сообщить Python о дополнительных местоположениях пакетов сайтов без изменения существующих скрипты?

На моем сервере CentOS 5.5 у меня есть установка Python 2.7, которая установлена ​​в /opt/python2.7.2 , и есть папка site-packages по адресу /opt/python2.7.2/lib/python2.7/site-packages .

Причина в том, что я не хотел нарушать существующую установку Python 2.4, поставляемую с дистрибутивом 5.5.

Однако стороннее приложение Python также добавило папку site-packages по адресу: /usr/local/lib/python2.7/site-packages и установило себя в этом месте. .

Это частично моя вина, потому что я не настроил ПРЕФИКС в Makefile приложения перед установкой, однако я мало что могу с этим поделать.

Я знаю, что могу сделать это:

import sys; sys.path.insert(0, "/usr/local/lib/python2.7/site-packages")

Однако это потребует от меня отслеживания каждого сценария и добавления вышеперечисленного, что не идеально, если в будущем будут обновления.

Чтобы обойти это, я создал символическую ссылку в /opt/python2.7.2/lib/python2.7/site-packages на расположение этого стороннего приложения:

ln -sf /usr/local/lib/python2.7/site-packages/theapp /opt/python2.7.2/lib/python2.7/site-packages/theapp

Это похоже на работает нормально, но мне интересно, есть ли способ лучше?

30
задан Kev 26 October 2011 в 10:22
поделиться