Les Modules sont installés à l'aide de pip sur OSX, mais pas trouvé lors de l'importation
J'ai réussi à installer les différents modules à l'aide de pip et ils sont indiqués dans le
pip list
tels que:
beautifulsoup4 (4.4.1)
requests (2.10.0)
Scrapy (1.1.0)
De Terminal
Cependant, chaque fois que j'essaie de l'importer
import beautifulsoup4
/import bs4
ou import Scrapy
ou import requests
le message d'erreur suivant est affiché:
$ python
Python 2.7.5 (default, Mar 9 2014, 22:15:05)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named requests
Mise à jour: si je me lance python quand je suis sur le bon site-packages répertoire
$ pwd
/usr/local/lib/python2.7/site-packages
$ python
Python 2.7.5 (default, Mar 9 2014, 22:15:05)
>>> import requests
>>> import bs4
>>> import scrapy
Alors il fonctionne. Cela permettrait de résoudre le problème si l'écriture directement sur le Terminal. Cependant, je n'ai aucune idée de comment le faire fonctionner à l'intérieur d'un file.py qui seront les conditions normales d'utilisation.
Autant que je sache, je n'ai que Python2.7 installé.
De file.py
Si j'ai un file.py enregistré dans certains locaux dossier de. Il contient, par exemple
import requests
from bs4 import BeautifulSoup
quand j'essaie
python file.py
Je reçois la même erreur.
Approche
Même phénomène se produit avec n'importe quel autre module de la liste.
Je pense que pep est de l'installer dans un répertoire que Python n'est pas la lecture, mais aussi par ce que j'ai lu, c'est la bonne.
Ils sont tous installés ici:
/usr/local/lib/python2.7/site-packages
De sortie demandée par Padraic Cunningham:
$ which -a pip
/usr/local/bin/pip
$ which -a python
/usr/bin/python
/usr/local/bin/python
De sortie demandée par leovp:
$ pip -V
pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
Threads déjà vérifié
J'ai vérifié les threads suivants, mais malheureusement ils n'ont pas de m'aider à résoudre le problème:
- l'installation de pyside utilisation de PIP - nmake pas trouvé
- PIp installe mais le module n'est pas trouvé ==> pourrait avoir fourni la bonne réponse, mais les liens ne fonctionnent plus
- google.protobuf installé, mais le module non trouvé
- Python pip installer le module n'est pas trouvé. Comment faire un lien python pip emplacement?
Toute idée de quel est le problème?
which -a pip
et which -a python
Ce n'
pip -V
spectacle? Est-il une chance que vous avez à la fois Python 2 et Python 3 est installé?OK, maintenant, lancez un shell avec
/usr/local/bin/python
et essayer de l'importer.qui fonctionne. Dois-je ajouter ce en quelque sorte dans mon python.py fichier?
La plus simple solution consiste à télécharger get-pip.py et l'installer avec la commande /usr/bin/python get-pip.py bootstrap.pypa.io/get-pip.py
OriginalL'auteur J0ANMM | 2016-05-20
Vous devez vous connecter pour publier un commentaire.
Depuis votre problème peut-être dû à diverses raisons, j'ai énuméré quelques-unes ici :
Le lien que vous recherchez : https://pythonhosted.org/setuptools/setuptools.html#development-mode
pip
que vous accédez est une version & l'interpréteur de python utilisée est une autre.Donc juste à vous que vous utilisez la même version de python pour installer et utiliser le package.
Vous pouvez corriger cela en utilisant des alias,
D'abord, mettre en place un shell alias:
Ensuite, le type qui à une invite de commandes, ou le mettre dans votre
~/.bashrc
de sorte que chaque fois que vous ouvrez python à partir de la borne de la version correcte s'affiche.ImportError Pas de module nommé ou cette
Bien que vous pouvez également le fixer à l'aide d'alias. Si vos deux versions de python sont affectés à différents alias il sera facile à utiliser à la fois comme nécessaire. (Je ne sais pas pourquoi quelqu'un a donné un vote pour la réponse!)
Intéressant, pourriez-vous développer un peu plus sur les alias?
À l'aide de
alias
de commande; réponse d'édition. De même, vous pouvez aliaspip
.Faire un
brew reinstall python2
. Il peut se plaindre qu'il ne peut pas supprimer certains fichiers. Si c'est le cas, assurez-vous que tous les fichiers de votre/usr/local/lib/python2.7/site-packages
dont vous êtes le propriétaire (c'est à direcd /usr/local/lib/python2.7/site-packages ; sudo chown -R <YOURLOGIN> *
). Ensuite réessayer debrew reinstall python2
etpip install --upgrade pip setuptools
et enfin l'utilisation du pep à installer votre bibliothèque.pip install X
.OriginalL'auteur Ani Menon
Voici la réponse qui a fonctionné, ce qui est essentiellement ce qui a été expliqué dans les commentaires de la question. Cependant, j'ai pensé qu'il serait utile de l'avoir expliqué comme une claire et bien structurée réponse.
Comme l'a souligné, le problème était que je n'étais pas à l'aide de l'interprète, le pip a été l'installation.
La commande
which
montre où pip était en train d'installer les modules:et où les différentes versions de python étaient situés:
Qui est, à mon système/par défaut de python a été
tandis que le programme pep a été l'installation de
Par conséquent, je ne pouvais pas importer quoi que ce soit j'ai installé quand j'ai tapé juste
python
, parce que le/usr/bin/python
interprète était l'un d'eux a commencé.Solution
Installer pip nouveau la spécification de la destination des modules qui seront installés. Ce doit être la destination pour l'installation par défaut de python.
Ce qui a été fait en deux étapes:
get-pip.py
de bootstrap.pypa.io/get-pip.pyDe l'installer avec la commande suivante
sudo /usr/bin/python get-pip.py
Noter que sans le
sudo
j'ai eu une erreur et n'a pas été en mesure d'installer pip.which -a pip
rendements/usr/local/bin/pip
etwhich -a python
rendements/usr/bin/python
. J'ai essayé la même procédure, mais je suis un échec. J'ai téléchargé get-pip.py dans mon bureau et a courusudo /usr/bin/python ~/Desktop/get-pip.py
. La procédure se passe bien, mais quand je lancewhich -a pip
, je n'obtient que/usr/local/bin/pip
.J'ai eu le même problème. Dans mon cas, c'était aussi situé dans
/usr/local/bin/pip
avant et après l'installation. Alors on peut dire que rien n'a changé, mais en fait, quelque chose a changé, parce que maintenant ça fonctionne.sudo
était pas nécessaire pour moi. Je suis en cours d'exécution de Mojave.OriginalL'auteur J0ANMM
Je viens de corriger un problème similaire.
Pour donner quelques explications, j'ai installer
pip
avechomebrew
par l'exécution debrew install python
. Un inconvénient par l'exécution de cette commande, il va installer python2 et python3(peut-être pas un inconvénient dans certains cas), alorspip install scrapy
mais quand j'essaie de
import scrapy
, il se plaintImportError: No module named scrapy
.Ma Solution:
exécuter
brew doctor
, il devrait vous signaler un lien est cassé, on vous demande d'exécuterbrew link python
, vous risquez de rencontrer quelques erreurs, mais suivez l'invite suggestion pour aller de l'avant, après avoir réussi à exécuterbrew link python
, tout devrait fonctionner maintenant.OriginalL'auteur Raymond
Exécuter
brew doctor
dans le terminalil devrait vous donner un avertissement qui dit:
type
sudo mkdir -p /usr/local/sbin
dans le terminal et appuyez sur entréetapez
sudo chown -R $(whoami) /usr/local/sbin
ensuite, exécutez python et essayer de l'importer votre module à nouveau.
OriginalL'auteur user73772
Je suis en ajoutant ce dans le cas où il peut aider n'importe qui d'autre. Pour moi, le problème était que je courais Anaconda et pip3 était en train d'installer dans un autre répertoire que l'Anaconda a été lié avec. Pour corriger cette course
conda deactivate
. Vous pouvez le réactiver plus tard avecconda activate
OriginalL'auteur Eric Wiener