Есть ли способ рассказать Python о дополнительных местах site-packages
без изменения существующих скриптов?
На моем сервере CentOS 5.5 у меня установлена установка Python 2.7, установленная в /opt/python2.7.2
, и в /opt/python2.7.2/lib/python2.7/site-packages
есть папка site-packages
.
Причиной этого является то, что я не хотел нарушать существующую установку Python 2.4, поставляемую с дистрибутивом 5.5.
Однако стороннее приложение Python также добавило папку site-packages
по адресу: /usr/local/lib/python2.7/site-packages
и установила себя в этом месте.
Это отчасти является моей ошибкой, потому что я не настраивал PREFIX
в приложении Makefile
перед установкой, но теперь я немного не могу с этим поделать.
Я знаю, что могу это сделать:
import sys; sys.path.insert(0, "/usr/local/lib/python2.7/site-packages")
Однако это потребует от меня отслеживания всех script и добавления выше, что не является идеальным, если в будущем будут обновления.
Чтобы обойти это, я создал символическую ссылку в /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
Кажется, что все работает нормально, но мне интересно, есть ли лучший способ?