web-dev-qa-db-fra.com

ImportError: aucun module nommé 'pymongo'

J'ai un problème lors de l'exécution de pymongo sur Win 7 (64) avec Python 3.4, mongodb 4.2.10. La sortie d'erreur est la suivante:

import pymongo
ImportError: No module named 'pymongo'

Le code est assez simple:

import pymongo
from pymongo import MongoClient

client=MongoClient()
db=client.test_db
dict={'A':[1,2,3,4,5,6]}
db.test_collection.insert(dict)
to_print=db.test_collection.find()
print(to_print)

J'ai déjà essayé de réinstaller Python et MongoDB - n'a pas aidé. Cela fonctionne lorsque je le fais manuellement en cmd, c'est-à-dire que mongod.exe et mongo.exe fonctionnent correctement. Il semble qu'il y ait un problème avec pymongo, mais je ne sais pas comment le réparer.

21
user3151858

Tout ce dont vous avez besoin est d'installer réellement pymongo (actuellement vous n'avez que mongo et python, mais ils ne savent pas se parler). Ceci la page vous le dit u exactement quoi faire:

  • allez à page pymongo
  • téléchargez et exécutez le programme d'installation.
24
Salvador Dali

Je suis nouveau sur Python,

Mais je pense que l'installation setuptools est une bonne idée,

après ça:

pip install pymongo
13
vanduc1102

Si vous avez installé pymongo à l'aide de la commande suivante:

Sudo pip install pymongo or
Sudo -E pip install pymongo 

Et vous obtenez toujours une erreur d'importation, puis essayez d'exécuter votre script python avec Sudo comme:

Sudo python example.py

Si vous pouvez exécuter le script de cette façon, mais pas sans Sudo. Ensuite, il peut y avoir un problème avec PYTHON_PATH ou un problème d'autorisation.

Résolution isssue # 1 (c'est-à-dire PYTHON_PATH): emplacement où pip installe les packages et emplacement où python recherche les packages ne correspondent pas.

Alors, comment trouvez-vous où installer les packages pip? Exécutez la commande suivante:

Sudo pip show pymongo

Il affiche une sortie comme celle-ci:

---
Name: pymongo
Version: 3.4.0
Location: /usr/local/lib/python2.7/dist-packages

Vous savez maintenant où installer les packages pip. Ajoutez la ligne suivante dans votre .bashrc:

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/

Exécutez la commande suivante pour exécuter à nouveau .bashrc:

source .bashrc

Essayez maintenant d'exécuter le script python sans Sudo. Il devrait fonctionner.

Sinon, procédez comme suit:

Résolution du problème n ° 2 (c.-à-d. Autorisation): autorisez les utilisateurs non root à lire et à exécuter python pacakages.

Sudo chmod -R ugo+rX /usr/local/lib/python2.7/

Cela devrait résoudre tous vos problèmes. Vous devriez pouvoir exécuter le script python sans Sudo.

4
doer_uvc

Essaye ça:

  1. Sudo apt-get install python-pip

  2. Sudo pip install pymongo

2
user7527153
  1. Créez un nouveau dossier dans vos documents comme "flask-pymongo"
  2. Dans votre terminal, changez le répertoire en C:\Users\YOUR_USERNAME\Documents\Flask-PyMongo \
  3. git clone https://github.com/dcrosta/flask-pymongo
  4. cd flask-pymongo
  5. py setup.py develop [~ # ~] ou [~ # ~] python setup.py develop (dépend de la façon dont python a été installé sur votre chemin)
  6. depuis n'importe où dans votre terminal: pip installe pymongo

La solution est pour les utilisateurs de Windows

1
FlyingZipper