web-dev-qa-db-ja.com

Jupyter Notebook内からpipパッケージをインストールしても機能しない

Jupyter Notebookで!pip install geocoderを実行すると、ターミナルでpip install geocoderを実行したときと同じ出力が得られますが、ジオコーダーパッケージをインポートしようとすると使用できません。

Ubuntu 14.04、Anaconda 4.0.0、およびpip 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に指示するにはどうすればよいですか?

23
! pip install --user <package>

!は、セルをシェルコマンドとして実行するようノートブックに指示します。

26
Ajinkya

このコードは私のために働いた(Windows 10/Condaはpython 2.xのjupyterノートブック内でインストール/実行された)

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

*注-sysをインポートする必要があります

8
FlyingZebra1

IPython(jupyter)7.3以降では、Pythonのインスタンスではなく、現在のカーネルにインストールする%pipおよび%condaコマンドがあります。ノートブックを起動しました)。

%pip install geocoder

以前のバージョンでは、sysを使用して FlyingZebra1による回答 のような問題を修正する必要があります

import sys
!{sys.executable} -m pip install geocoder
8
Eponymous

これはJupyter nOtebook/Mac Platform/Python 3で私のために働いた:

import sys
!{sys.executable} -m pip install -r requirements.txt
2
Vinayak Gupta

python 3.6の下のjupyterノートブックでは、次の行が機能します。

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

問題は、pyarrowpipによって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")
1
Dawid Laszuk
conda create -n py27 python=2.7 ipykernel
source activate py27
pip install geocoder
0
Steve Ji

代替オプション:bashカーネルを使用してpip install geocoderを使用して、jupyterでbashセルを作成することもできます。うまくいくはず

0
Mattony

シェルマジックを使用してみてください:%% sh %%sh pip install geocoder動作するかどうかを教えてください、ありがとう

0
casper