Какой Pip и какой Python должны возвращать один и тот же каталог?Конфигурация Zeppelin в Unix RHEL - PullRequest
0 голосов
/ 27 сентября 2019

Это, вероятно, очень тупой вопрос, но я застрял и трачу слишком много времени на это, поэтому я был бы очень признателен за любую помощь.

Я использую RHEL 7 и установил на него Apache Zeppelin.Все работает, кроме моей жизни, я не могу импортировать пакеты Python, такие как Pandas.

Я понял, что у меня не было PIP, поэтому я установил его с помощью следующих шагов: https://pip.pypa.io/en/stable/installing/ (обратите внимание, ямне пришлось использовать аргумент "--user" для команды "python get-pip.py").

Наконец, я сделал "pip install pandas --user", который работал отлично.Затем я захожу в свой блокнот Zeppelin и не могу импортировать панд, даже после перезапуска интерпретатора Python.

Я провел некоторые исследования и считаю, что проблема в том, «какой питон» и «какой пип» установлены в разныхкаталоги, так как первые приводят к «/ usr / bin / python», а последние - к «~ / .local / bin / pip».

Так что я подозреваю, что пакеты, установленные с помощью pip, в основном загружаются в другойверсия питона?Если это помогает, когда я делаю «whereis python», я получаю 5 разных результатов, таких как «/ usr / bin / python» и «/usr/bin/python2.7» и т. Д.

1 Ответ

0 голосов
/ 27 сентября 2019

Первое, что нужно понять: пакеты Python не установлены глобально, каждый установленный Python имеет свой собственный набор пакетов.Кстати, pip, являющийся пакетом Python со скриптом, также не является глобальным.Если у вас есть несколько разных питонов, вам нужны разные пипсы для них.Я не знаю Apache Zeppelin, поэтому не могу догадаться, использует ли он системный Python (/usr/bin/python) или имеет собственный Python;в последнем случае вам нужно установить pip специально для Zeppelin, поэтому его pip пакеты установки доступны для Zeppelin.

Чтобы выяснить, к какому Python pip устанавливаются пакеты, вам нужно выяснить, под каким Python он установленпробеги.Начните с shebang :

head -1 `which pip`

Команда напечатает что-то вроде ~/.local/bin/python.Если это не версия Python, вам нужно установить пакеты, так как вам нужно установить другой pip с использованием этого Python.

Самый сложный случай будет, если shebang зависит от PATH, что-то вроде #!/usr/bin/env python.В этом случае pip запускает Python, который вы можете найти с помощью which python.

PS.AFAIK самый простой способ установить pip в RedHat - это dnf install python-pip.

...