it-swarm.com.ru

Установка pip-пакета из Jupyter Notebook не работает

Когда я запускаю !pip install geocoder в Jupyter Notebook, я получаю тот же вывод, что и pip install geocoder в терминале, но пакет геокодера недоступен, когда я пытаюсь его импортировать.

Я использую Ubuntu 14.04, Anaconda 4.0.0 и пип 8.1.2

Установка геокодера:

!pip install geocoder

The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
Collecting geocoder
  Downloading geocoder-1.15.1-py2.py3-none-any.whl (195kB)
    100% |████████████████████████████████| 204kB 3.2MB/s 
Requirement already satisfied (use --upgrade to upgrade): requests in /usr/local/lib/python2.7/dist-packages (from geocoder)
Requirement already satisfied (use --upgrade to upgrade): ratelim in /usr/local/lib/python2.7/dist-packages (from geocoder)
Requirement already satisfied (use --upgrade to upgrade): six in /usr/local/lib/python2.7/dist-packages (from geocoder)
Requirement already satisfied (use --upgrade to upgrade): click in /usr/local/lib/python2.7/dist-packages (from geocoder)
Requirement already satisfied (use --upgrade to upgrade): decorator in /usr/local/lib/python2.7/dist-packages/decorator-4.0.10-py2.7.Egg (from ratelim->geocoder)
Installing collected packages: geocoder
Successfully installed geocoder-1.15.1

Затем попробуйте импортировать это:

import geocoder

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-4-603a981d39f2> in <module>()
----> 1 import geocoder

ImportError: No module named geocoder

Я также попытался выключить ноутбук и перезапустить его без всякой удачи.

Правка: я обнаружил, что с помощью терминала устанавливает пакет геокодера в /home/ubuntu/.local/lib/python2.7/site-packages, а с помощью ноутбука устанавливает его в /usr/local/lib/python2.7/dist- пакеты, которых нет в пути. sys.path.append('/usr/local/lib/python2.7/dist-packages') решает проблему для текущего сеанса.

Так как же я могу навсегда изменить путь или указать pip, где установить геокодер?

18
Mikhail Janowski
! pip install --user <package>

! указывает записной книжке выполнить ячейку как команду Shell.

20
Ajinkya

Этот код работал для меня (установка Windows 10/Conda/Выполнение в блокноте Jupyter на Python 2.x)

import sys
!{sys.executable} -m pip install fedex

* примечание - вам нужно импортировать sys

3
FlyingZebra1

В ноутбуке jupyter под python 3.6 работает следующая строка:

!source activate py36;pip install <...>
2
robinary

Проблема в том, что pyarrow сохраняется pip в dist-packages (в вашем случае /usr/local/lib/python2.7/dist-packages). Этот путь пропущен Jupyter, поэтому pip не поможет. 

В качестве решения предлагаю добавить в первый блок

import sys
sys.path.append('/usr/local/lib/python2.7/dist-packages')

или что бы то ни было, путь или версия Python. В случае с Python 3.5 это

import sys
sys.path.append("/usr/local/lib/python3.5/dist-packages")
0
Dawid Laszuk

Это сработало для меня в Jupyter nOtebook/Mac Platform/Python 3: 

import sys
!{sys.executable} -m pip install -r requirements.txt
0
Vinayak Gupta
conda create -n py27 python=2.7 ipykernel

source activate py27

pip install geocoder
0
Steve Ji

Альтернативный вариант: Вы также можете создать ячейку bash в jupyter, используя ядро ​​bash, а затем pip install geocoder. Это должно работать

0
Mattony

Попробуйте использовать магию оболочки: %% sh %%sh pip install geocoder Дайте мне знать, если это работает, спасибо

0
casper