2016-07-14 11 views
15

Wenn ich !pip install geocoder in Jupyter Notebook ausführen bekomme ich die gleiche Ausgabe wie pip install geocoder im Terminal laufen, aber das Geocoder-Paket ist nicht verfügbar, wenn ich versuche, es zu importieren.Installation eines Pip-Pakets aus einem Jupyter-Notebook funktioniert nicht

Ich bin mit Ubuntu 14.04, Anaconda 4.0.0 und 8.1.2

Installation Geocoder pip:

!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 

Dann versuchen Sie es zu importieren:

import geocoder 

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

ImportError: No module named geocoder 

ich auch versucht, das Notebook herunterfahren und ohne Glück neu starten.

Edit: Ich habe festgestellt, dass die Verwendung des Terminals das Geocoder-Paket in /home/ubuntu/.local/lib/python2.7/site-packages installiert und mit einem Notebook in/usr/local/lib/python2 installiert. 7/dist-packages, die nicht im Pfad sind. sys.path.append('/usr/local/lib/python2.7/dist-packages') löst das Problem für die aktuelle Sitzung.

Also, wie kann ich den Pfad dauerhaft ändern oder pip sagen wo Geocoder zu installieren?

+1

Das ist Python 2 Pakete. Verwendet Ihr Notebook einen Python 2-Kernel oder einen Python 3-Kernel? – nitind

+0

Seine Verwendung von Python 2 –

+0

['PYTHONPATH'] (https://docs.python.org/2/using/cmdline.html#envvar-PYTHONPATH) – Alik

Antwort

0

Probieren Sie einige Shell-Magie: %% sh %%sh pip install geocoder lassen Sie mich wissen, ob es funktioniert, dank

-3

Mit pip2 für mich gearbeitet:

!pip2 install geocoder 
... 
import geocoder 
g = geocoder.google('Mountain View, CA') 
g.latlng 
[37.3860517, -122.0838511] 
0
conda create -n py27 python=2.7 ipykernel 

source activate py27 

9
! pip install --user <package> 

('!' Das sagt das Notebook in der Zelle als Shell-Befehl auszuführen)

0

Alternative Option: Sie können auch eine bash Zelle in jupyter mit bash Kernel erstellen und dann pip install geocoder. Das sollte 3.6 jupyter Notebook unter Python

1

arbeiten, die folgende Zeile funktioniert:

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