Как включить python35 из Коллекции программного обеспечения при входе в систему?
Я следил за Quick Start Коллекции программного обеспечения, и теперь у меня установлен Python 3.5. Как я могу сделать это всегда включен в моем ~/.bashrc
, так что мне не нужно включать его вручную с scl enable rh-python35 bash
?
2 ответа
Использовать scl_source
особенность.
Создать новый файл в /etc/profile.d/
чтобы включить вашу коллекцию автоматически при запуске:
$ cat /etc/profile.d/enablepython35.sh
#!/bin/bash
source scl_source enable python35
См. Как сохранить коллекцию программного обеспечения Red Hat после перезагрузки / выхода из системы? для фона и деталей.
Этот ответ будет полезен тем, у кого ограниченный доступ для авторизации на сервере.
У меня была аналогичная проблема на виртуальном хостинге HostGator.
Python3.5
приходилось включать каждый раз после входа в систему. Вот мои 10 шагов к разрешению:
Включите питон через скрипт scl
python_enable_3.5
или жеscl enable rh-python35 bash
.Убедитесь, что он включен, выполнив
python3.5 --version
. Это должно дать вам вашу версию Python.Выполнять
which python3.5
получить свой путь. В моем случае это было/opt/rh/rh-python35/root/usr/bin/python3.5
. Вы можете использовать этот путь, чтобы снова получить версию (просто чтобы убедиться, что этот путь работает для вас).Отлично, теперь пожалуйста
exit
из текущей оболочки.Теперь давайте снова получим версию через этот полный путь python3.5
/opt/rh/rh-python35/root/usr/bin/python3.5 --version
.Это не даст вам версию, а только ошибку. В моем случае это было
/opt/rh/rh-python35/root/usr/bin/python3.5: error while loading shared libraries: libpython3.5m.so.rh-python35-1.0: cannot open shared object file: No such file or directory
Как упоминалось в ответе Тамаса , мы должны найти, что
so
файл.locate
не работает на виртуальном хостинге, и вы не можете его установить.Используйте следующую команду, чтобы найти, где находится этот файл:
find /opt/rh/rh-python35 -name "libpython3.5m.so.rh-python35-1.0"
- Вышеупомянутая команда напечатает полный путь (вторая строка) к файлу после его обнаружения. В моем случае вывод был
find: `/opt/rh/rh-python35/root/root': Permission denied
/opt/rh/rh-python35/root/usr/lib64/libpython3.5m.so.rh-python35-1.0
- Вот полная команда для работы python3.5 на таком виртуальном хостинге, которая выдаст версию,
LD_LIBRARY_PATH=/opt/rh/rh-python35/root/usr/lib64 /opt/rh/rh-python35/root/usr/bin/python3.5 --version
- Наконец, для краткости добавьте следующий псевдоним в свой ~ / .bashrc
alias python351='LD_LIBRARY_PATH=/opt/rh/rh-python35/root/usr/lib64 /opt/rh/rh-python35/root/usr/bin/python3.5'
- Для проверки перезагрузите
.bashrc
кsource ~/.bashrc
и выполнитьpython351 --version
.
Ну вот, теперь, когда вы снова входите в систему, у вас есть
python351
приветствовать вас.
Это не ограничивается
python3.5
, но может быть полезен в случае других
scl
установленное программное обеспечение.