web-dev-qa-db-fra.com

L'installation d'un paquet pip à partir d'un ordinateur portable Jupyter ne fonctionne pas

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?

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

Le ! indique au bloc-notes d'exécuter la cellule en tant que commande Shell.

20
Ajinkya

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

3
FlyingZebra1

Dans jupyter notebook sous python 3.6, la ligne suivante fonctionne:

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

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")
0
Dawid Laszuk

Cela a fonctionné pour moi dans 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

Option alternative: Vous pouvez également créer une cellule bash dans jupyter en utilisant bash kernel puis pip install geocoder. Cela devrait fonctionner

0
Mattony

Essayez d’utiliser un peu de magie Shell: %% sh %%sh pip install geocoder Laissez-moi savoir si cela fonctionne, merci

0
casper