ImportError: aucun module nommé requêtes


582

Chaque fois que j'essaie d'importer requests, j'obtiens un message d'erreur No module Named requests.

import requests

L'erreur que j'obtiens:

File "ex2.py", line 1, in <module>
    import requests
ImportError: No module named requests

18
Avez-vous installé requests, utilisé pipou easy_install?
Thomas Orozco

16
J'ai le même problème, j'ai installé via pip
David Crook

1
juste pour noter, je reçois uniquement le problème depuis Spyder, mais pas l'invite cmd.
David Crook

2
J'obtiens le même résultat. pip3 rapporte "Exigence déjà satisfaite: ..."
Matt

1
Pour moi, cela s'est avéré être un conflit avec plusieurs installations de python. Par exemple, sur mon mac, j'ai en quelque sorte acquis python ET python2.7 dans / usr / bin, qui ne font pas de lien symbolique vers la même installation. Bien que pip, apparemment, installe des modules pour python2.7. Ainsi, pythonne voit pas ces modules. En utilisant python2.7, tout fonctionne. Je suppose que je dois nettoyer un peu mon environnement.
Sean Novak

Réponses:


706

Requests n'est pas un module intégré (ne vient pas avec l'installation par défaut de python), vous devrez donc l'installer:

OSX / Linux

Utilisez $ sudo pip install requests(ou pip3 install requestspour python3) si vous avez pipinstallé. Si pip est installé mais pas sur votre chemin, vous pouvez utiliser python -m pip install requests(ou python3 -m pip install requestspour python3)

Alternativement, vous pouvez également utiliser sudo easy_install -U requestssi vous avez easy_installinstallé.

Vous pouvez également utiliser votre gestionnaire de packages de systèmes:

Pour centos: yum install python-requests Pour Ubuntu:apt-get install python-requests

les fenêtres

Utilisez pip install requests(ou pip3 install requestspour python3) si vous avez pipinstallé et Pip.exe ajouté à la variable d'environnement de chemin. Si pip est installé mais pas sur votre chemin, vous pouvez utiliser python -m pip install requests(ou python3 -m pip install requestspour python3)

Alternativement à partir d'une invite cmd, utilisez > Path\easy_install.exe requests, où Pathest votre Python*\Scriptsdossier, s'il a été installé. (Par exemple: C:\Python32\Scripts)

Si vous souhaitez ajouter manuellement une bibliothèque à une machine Windows, vous pouvez télécharger la bibliothèque compressée, la décompresser, puis la placer dans le Lib\site-packagesdossier de votre chemin python. (Par exemple: C:\Python27\Lib\site-packages)

De la source (universel)

Pour toute bibliothèque manquante, la source est généralement disponible sur https://pypi.python.org/pypi/ . Vous pouvez télécharger les demandes ici: https://pypi.python.org/pypi/requests

Sous mac osx et windows, après avoir téléchargé le zip source, décompressez-le et exécutez le terme criminal / cmd depuis le répertoire python setup.py installnon compressé.

( source )


7
Si l'un d'entre vous a installé pip sur Windows, les "demandes d'installation de pip" fonctionneront très bien. Je suppose que les "requêtes easy_install" fonctionneront également sur osx / linux, mais pip est généralement préféré. ( stackoverflow.com/questions/3220404/… )
Chris

12
pour centos: yum install python-
requests

9
Sur mac os x, si easy_install est installé, vous pouvez également utiliser:sudo easy_install -U requests
RobinCominotto

10
Remarque pour la postérité: pour pip install requeststravailler (sur un Mac), vous devez utilisersudo
David Oneill

6
l'a fait fonctionner sur Mac OS X en utilisant:sudo pip3 install requests
sirboderafael

77

Pour moi, la version de Python que vous utilisez n'est pas évidente.

Si c'est Python 3, une solution serait sudo pip3 install requests


2
sudo pip3 install requestssi vous voulez qu'il soit installé pour tous les utilisateurs sur une machine, pas pour un seul utilisateur.
Adrian

67

Pour installer le requestsmodule sur Debian / Ubuntu pour Python2:

$ sudo apt-get install python-requests

Et pour Python3, la commande est:

$ sudo apt-get install python3-requests


1
sudo apt-get install python-requests
Toda Raba

2
sudo apt-get install python3-request dans mon cas
user3058157

24

Si vous utilisez Ubuntu, vous devez installer requests

exécutez cette commande:

pip install requests

si vous rencontrez une erreur d'autorisation refusée, utilisez sudo avant la commande:

sudo pip install requests

Je suis sur Mint et j'obtiens la même erreur même s'il est installé.
DarthOpto

22

Cela peut être un peu trop tard, mais cette commande peut être exécutée même lorsque le chemin pip n'est pas défini. J'utilise Python 3.7 sous Windows 10 et voici la commande

py -m pip install requests

et vous pouvez également remplacer les «demandes» par toute autre bibliothèque désinstallée


19

Sur OSX, la commande dépendra de la saveur de l'installation de python que vous avez.

Python 2.x - Par défaut

sudo pip install requests

Python 3.x

sudo pip3 install requests

2
Je n'ai pas remarqué de différence, mais ça compte. J'ai installé la version python 3.7 et les demandes en utilisant pip et il n'a pas pu le trouver. Lorsque j'ai installé via pip3, cela fonctionne maintenant.
shjeff

J'ai essayé 'sudo pip3 install requests' et il a vu à télécharger, mais ensuite lors de l'exécution du fichier avec des requêtes, il a obtenu le "ImportError: Aucun module nommé request". Si frustrant.
John Pitts

14

Dans mon cas, les demandes étaient déjà installées, mais avaient besoin d'une mise à niveau. La commande suivante a fait l'affaire

$ sudo pip install requests --upgrade



11

Les utilisateurs de Brew peuvent utiliser la référence ci-dessous,

commande pour installer les requêtes:

python3 -m pip install requests

Homebrew et Python

pip est le programme d'installation du package pour Python et vous avez besoin du package requests.


Souhaitez-vous ajouter une brève explication (ici) des raisons pour lesquelles cela fonctionne?
Thruston

Ajout d'un commentaire supplémentaire pour les pipinformations.
ymutlu

7

Ajout de packages tiers à l'application

Suivez ce lien https://cloud.google.com/appengine/docs/python/tools/libraries27?hl=en#vendoring

step1: Ayez un fichier nommé par un fichier nommé appengine_config.py à la racine de votre projet, puis ajoutez ces lignes:

du fournisseur d'importation google.appengine.ext

Ajoutez toutes les bibliothèques installées dans le dossier "lib".

vendor.add ('lib')

Étape 2: créez un répertoire et nommez-le "lib" sous le répertoire racine du projet.

étape 3: utiliser les demandes de la bibliothèque pip install -t

étape 4: déployer sur le moteur d'application.


1
C'était en fait ce que je cherchais. Les étapes ci-dessus seules n'ont pas fonctionné pour AppEngine :)
Gopherkhan


6

Pour Windows, donnez simplement le chemin sous forme de cd et le chemin vers les "Scripts" de python, puis exécutez les easy_install.exedemandes de commande. Ensuite , essayez d'importer les demandes ...


6

La seule chose qui a fonctionné pour moi:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
pip install requests

4

J'ai eu ce problème plusieurs fois au cours des derniers mois. Je n'ai pas vu de bonne solution pour les systèmes Fedora, alors voici encore une autre solution. J'utilise RHEL7 et j'ai découvert ce qui suit:

Si vous avez urllib3installé via pip, et requestsinstallé via yumvous aurez des problèmes, même si vous avez installé les bons packages. La même chose s'applique si vous avez urllib3installé via yumet requestsinstallé via pip. Voici ce que j'ai fait pour résoudre le problème:

sudo pip uninstall requests
sudo pip uninstall urllib3
sudo yum remove python-urllib3
sudo yum remove python-requests

(confirmez que toutes ces bibliothèques ont été supprimées)

sudo yum install python-urllib3
sudo yum install python-requests

Sachez simplement que cela ne fonctionnera que pour les systèmes qui exécutent Fedora, Redhat ou CentOS.

Sources:
Cette question même (dans les commentaires de cette réponse).
Ce problème github.


1
A donné un essai sur Oracle Linux (essentiellement RHEL) mais n'a pas fonctionné. Publication afin que les autres puissent connaître ce résultat. Merci bien ~
ragerdl

@ragerdl Votre problème peut ne pas concerner spécifiquement les demandes ou urllib3. Cela pourrait être avec d'autres packages python. Cela dépend simplement de ce que vous essayez d'exécuter.
ajsmart

En effet, j'avais deux mauvais pythons sur mon chemin et un alias pour un mauvais python aussi. Se débarrasser de ces trois pointeurs python a résolu mon problème. :)
ragerdl

3

J'ai installé python2.7 et python3.6

Ouvrez la ligne de commande pour ~ / .bash_profile Je trouve que #Setting PATH pour Python 3.6 , donc je change le chemin vers PATH = "/ usr / local / Cellar / python / 2.7.13 / bin: $ {PATH}" , (veuillez assurez-vous que le chemin de votre python2.7), puis enregistrez. Ça marche pour moi.


3

si vous voulez requestimporter sur Windows:

pip install request

puis beautifulsoup4pour:

pip3 install beautifulsoup4

2

J'ai résolu ce problème. Vous pouvez essayer cette méthode. Dans ce fichier '.bash_profile', ajoutez des codes commealias python=/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7


2

Si vous utilisez anaconda comme gestionnaire de packages python, exécutez ce qui suit:

conda install -c anaconda requests

L'installation de requêtes via pip ne m'a pas aidé.


1
J'avais besoin de requests_ntlm, donc j'ai dû exécuter "conda config --add channel conda-forge" puis "conda install -c anaconda
requests_ntlm

2

Vous devez vous assurer que votre module de requêtes n'est pas installé dans une version plus récente de python.

Lorsque vous utilisez python 3.7, exécutez votre fichier python comme:

python3 myfile.py

ou passez en mode interactif python avec:

python3

Oui, cela fonctionne pour moi. Exécutez votre fichier comme ceci: python3 file.py



1

Ma réponse est fondamentalement la même que @ pi-k. Dans mon cas, mon programme a fonctionné localement mais n'a pas pu s'appuyer sur des serveurs QA. (Je soupçonne que devops avait des versions plus anciennes du paquet bloquées et ma version devait être trop obsolète) J'ai juste décidé de tout mettre à jour

$ pip install pip-review
$ pip-review --local --interactive

1

Si vous utilisez anaconda étape 1 : où python étape 2 : ouvrez l'invite anaconda en mode administrateur étape 3 : cd < chemin python > étape 4 : installez le package à cet emplacement


1

Dans mon cas, il montrait la demande Exigence déjà satisfaite. donc j'utilise.

sudo pip3 install requests

1

dans pycharm IDE

1-aller au réglage du fichier dans le menu

2-next go sur l'interpréteur Python

3-click sur pip

4- Rechercher des requêtes et l'installer

ou écrivez cette commande dans le terminal pycharm

pip install requests 

et l'utiliser par:

import requests

0

Mon problème était que j'avais quatre bibliothèques python différentes que python essayait d'utiliser (même si j'appelais explicitement /usr/bin/python). Une fois que j'ai supprimé un alias de shell et deux autres pythons de mon chemin, j'ai /usr/bin/pythonpu import requests.

-HTH


0

Le problème pourrait être dû à une machine ayant plusieurs versions de Python . Assurez-vous que vous installez les modules Request dans toutes les versions.

Dans mon cas, j'avais la version python 2.7et 3.7. J'ai résolu ce problème en installant avec les deux versions de python


0

Essayez ceci J'ai anaconda installé et après avoir parcouru beaucoup d'articles, j'ai trouvé cela comme un correctif

import sys
print(sys.version)
print("\n \n")
print(sys.path)
sys.path.append('/usr/local/anaconda3/envs/py36/lib/python3.6/site-packages')

Indiquez le chemin des sites-packages dans le dossier python_version.


0

Peut-être que plusieurs versions de python sont installées. Essayez différentes versions, telles que python3.7 xxx.py, pour identifier laquelle est la bonne version.


-3

vous pouvez également utiliser l'installation de pip sur Windows en localisant d'abord le fichier pip3.exe dans le répertoire: dites pour moi ==> cd c: \ python34 \ scripts puis exécutez ==> demandes d'installation de pip3

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.