web-dev-qa-db-fra.com

pymongo - mongodb + srv "dnspython doit être installé" erreur

J'essaye de connecter MongoDB d'Atlas Mais j'ai rencontré:

dnspython doit être installé erreur

Mon mongo uri (maquette): mongodb+srv://abc:[email protected]/admin?retryWrites=True

Mon version pymongo: 3.6.1 J'ai installé dnspython et fait import dns

Pourtant, je reçois l'erreur:

le module dnspython doit être installé pour utiliser mongodb + srv: // URI

19
addicted

Pour utiliser le protocole mongo + srv, vous devez installer pymongo-srv Lancez cette commande pour le faire avec python 3:

pip3 install pymongo[srv]

ou celui-ci pour les autres versions:

pip install pymongo[srv]
19
veben

J'ai résolu ce problème avec:

$ python -m pip installe pymongo [srv]

9
Jonathan Cardoso

Je voudrais répondre ici à mes propres questions. Comme je l'ai mentionné dans le commentaire, le noyau du cahier jupyter doit être redémarré pour que le pymongo prenne effet du dnspython chargé.

4
addicted

Dans requirements.txt, remplacez pymongo par pymongo[tls,srv], comme mentionné ici .

3
Jay Vasant

Peut être le protocole, votre URI doit commencer par:

mongo + srv au lieu de mongo + src

Si cela ne fonctionne toujours pas, veuillez mettre une liste de pip avec les versions de PyMongo et dnspython (et la version de python que vous utilisez)

2
Fernando Byn

vous pouvez utiliser mongo:// au lieu de mongodb+srv://

0
msklc