Python 3 не видит пакеты, установленные пользователем root под другим пользователем

Я установил psycopg2 для Python 3 на CentOS 7.3 как root. Когда я su в root

> python3 -m  pip show psycopg2
Name: psycopg2
Version: 2.6.2
Summary: psycopg2 - Python-PostgreSQL Database Adapter
Home-page: http://initd.org/psycopg/
Author: Federico Di Gregorio
Author-email: fog@initd.org
License: LGPL with exceptions or ZPL
Location: /opt/rh/rh-python34/root/usr/lib64/python3.4/site-packages
Requires:

, обратите внимание, что pip установил его в каталог, который указывает root ( / opt / rh / rh-python34 / root / usr / lib64 / python3.4 / site-packages ).

Однако, когда я переключаюсь на другого пользователя, python не видит этот пакет - python3 -m pip show psycopg2 ничего не возвращает. Если я попытаюсь запустить скрипт py, который его импортирует, я получаю сообщение об ошибке. Я подтвердил, что могу войти в этот каталог как пользователь без полномочий root и читать файлы.

Как сделать пакет python, установленный пользователем root, видимым для всех других пользователей?

0
18.02.2017, 01:31
2 ответа

Это была проблема с путями Python. Я решил эту проблему, введя системную переменную PYTHONPATH , установленную на /opt/rh/rh-python34/root/usr/lib64/python3.4/site-packages :

 export PYTHONPATH=/opt/rh/rh-python34/root/usr/lib64/python3.4/site-packages
1
28.01.2020, 02:34

Прежде всего удалите psycopg2 ( sudo pip uninstall psycopg2 ), а затем:

1:

Установить пакет python-psycopg2 из репозиториев:

$ sudo yum install python-psycopg2 

ИЛИ

2:

Измените umask на 022 и установите psycopg2

$ umask 022
$ sudo pip install psycopg2
2
28.01.2020, 02:34

Теги

Похожие вопросы