Я запутался в разнице между pip и pip3, в анаконде env - PullRequest
0 голосов
/ 26 апреля 2020

TL; DR: пакет установлен в pip3, но его нельзя найти в Python3. Почему?

Все это происходит в моей базе anaconda environemnt:

Так что я боролся с тензорным потоком и его версиями (еще один пост). Выходит версия 2.1, доступна только на пипе а не с конда установить. Поэтому после обновления pip3 install --upgrade pip я устанавливаю pip3 install tensorflow==2.1.0. После этого я открываю Jupyer-Notebook и выясняю, что тензор потока не установлен (работает Python3). Я проверяю сначала из терминала версию, а затем удалить tenorflow. Он не установлен под pip (как и ожидалось), но он действительно установлен под pip3. Я также получаю это сообщение при удалении через pip3:

"pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. To avoid this problem you can invoke Python with '-m pip' instead of running pip directly."

, которое может быть связано. У меня сложилось впечатление, что pip устанавливает пакеты по умолчанию python (в моем случае 3.7.4), но pip3 устанавливает их только для Python3. Чего мне не хватает?

Спасибо!

1 Ответ

1 голос
/ 26 апреля 2020

пакет установлен в pip3, но его нельзя найти в Python3. Почему?

Потому что у вас много разных питонов. pip не устанавливает пакеты для всех Pythons; pip3 не устанавливает пакеты для Python3. Они устанавливают пакеты для тех конкретных Питонов, под которыми они работают. Вы не можете ожидать установки пакета с одним Python и импортировать его в другой канун, если они имеют ту же версию.

Чтобы увидеть, что Python используется с конкретным pip, посмотрите его шебанг :

head -1 $(which pip)
head -1 $(which pip3)

Если шебанг #!/usr/bin/env python, продолжить расследование с which python (или which python3).

Поиск Python прогона python -m site чтобы увидеть, откуда импортируются пакеты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...