Lorsque j’exécute !pip install geocoder
dans Jupyter Notebook, j’obtiens le même résultat que pip install geocoder
dans le terminal, mais le package de géocodeur n’est pas disponible lorsque je tente de l’importer.
J'utilise Ubuntu 14.04, Anaconda 4.0.0 et pip 8.1.2
Installation du géocodeur:
!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
Puis essayez de l'importer:
import geocoder
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-4-603a981d39f2> in <module>()
----> 1 import geocoder
ImportError: No module named geocoder
J'ai également essayé d'arrêter l'ordinateur portable et de le redémarrer sans aucun succès.
Edit: j'ai constaté que l'utilisation du terminal installe le paquet geocoder dans /home/ubuntu/.local/lib/python2.7/site-packages et l'utilisation d'un ordinateur portable l'installe dans /usr/local/lib/python2.7/dist paquets qui ne sont pas dans le chemin. sys.path.append('/usr/local/lib/python2.7/dist-packages')
résout le problème pour la session en cours.
Alors, comment puis-je modifier en permanence le chemin ou dire à pip où installer Geocoder?
! pip install --user <package>
Le !
indique au bloc-notes d'exécuter la cellule en tant que commande Shell.
Ce code a fonctionné pour moi (Windows 10/Conda install/Exécuté dans jupyter notebook sur python 2.x)
import sys
!{sys.executable} -m pip install fedex
* remarque - vous devez importer sys
Dans jupyter notebook sous python 3.6, la ligne suivante fonctionne:
!source activate py36;pip install <...>
Le problème est que pyarrow
est enregistré par pip
dans dist-packages
(dans votre cas, /usr/local/lib/python2.7/dist-packages
). Jupyter ignore ce chemin, donc pip
ne vous aidera pas.
Comme solution, je suggère d’ajouter dans le premier bloc
import sys
sys.path.append('/usr/local/lib/python2.7/dist-packages')
ou quel que soit le chemin ou la version python. En cas de Python 3.5 c'est
import sys
sys.path.append("/usr/local/lib/python3.5/dist-packages")
Cela a fonctionné pour moi dans Jupyter nOtebook/Mac Platform/Python 3:
import sys
!{sys.executable} -m pip install -r requirements.txt
conda create -n py27 python=2.7 ipykernel
source activate py27
pip install geocoder
Option alternative: Vous pouvez également créer une cellule bash dans jupyter en utilisant bash kernel puis pip install geocoder
. Cela devrait fonctionner
Essayez d’utiliser un peu de magie Shell: %% sh %%sh pip install geocoder
Laissez-moi savoir si cela fonctionne, merci