Установка Python 2.7 для всех пользователей на SLES 11

108
13

Я установил Python 2.7 на блок SLES 11, который ранее выполнял Python 2.6. Для этого я использовал script описанный в этом сообщении, и запустил его как пользователь root. Все прошло хорошо, но когда это было сделано, я обнаружил несколько проблем:


    Никаких символических ссылок не было создано и обновлен путь, поэтому мне пришлось вручную обновить путь к ссылке на новый каталог установочного bin /opt/python2.7/bin
    Все работает до тех пор, пока я не переключусь с корня на обычного пользователя, с которого запущена оболочка Python, но некоторые модули, которые я установил, такие как PyYAML, отсутствуют. Опять же, это нормально, когда я запускаю Python как root
    Как обычный пользователь, я не могу запустить pip, easy_install и wheel. Для pip я получаю ImportError: No module named pkg_resources

P.S. Следуя предложению @user, я попытался добавить следующий путь от sys.path пользователя root к .bashrc, который не устранил проблему


export PYTHONPATH=$PYTHONPATH:/opt/python2.7/lib/python27.zip:/opt/python2.7/lib/python2.7:/opt/python2.7/lib/python2.7/plat-linux2:/opt/python2.7/lib/python2.7/lib-tk:/opt/python2.7/lib/python2.7/lib-old:/opt/python2.7/lib/python2.7/lib-dynload:/opt/python2.7/lib/python2.7/site-packages:/opt/python2.7/lib/python2.7/site-packages/PyYAML-3.11-py2.7-linux-x86_64.egg:/opt/python2.7/lib/python2.7/site-packages/pexpect-4.2.0-py2.7.egg:/opt/python2.7/lib/python2.7/site-packages/ptyprocess-0.5.1-py2.7.egg

спросил(а) 2016-08-03T20:09:00+03:00 4 года, 2 месяца назад
1
Решение
58

Достоверные/официальные источники: нет ответа от официального форума. Помимо ссылки SO-link, которую вы упомянули, есть также https://unix.stackexchange.com/questions/7644/how-to-do-a-binary-install-of-python-2-7-on-suse-linux-enterprise-server-11, в которой описывается способ ее описания в Установка Python 2.7 на SLES 11 (SO не является официальным, это?; -)


Что касается вашей проблемы: обе версии 2. и 3. могут быть вызваны элементами, отсутствующими в sys.path.


Чтобы проверить это, введите


import sys; sys.path

как в пользовательском, так и в корневом питоне и проверьте различия. Их необходимо объединить. Сначала попробуйте использовать PYTHONPATH, но помните, что существуют различные методы, как настройте sys.path.


Если вам просто нужно исправить это для обычных (не-демонных) пользователей, настройка общесистемного профиля bash будет простым решением.


(Любые вопросы/отзывы приветствуются...: -)

ответил(а) 2016-08-12T19:36:00+03:00 4 года, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема