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
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]
J'ai résolu ce problème avec:
$ python -m pip installe pymongo [srv]
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é.
Dans requirements.txt, remplacez pymongo
par pymongo[tls,srv]
, comme mentionné ici .
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)
vous pouvez utiliser mongo://
au lieu de mongodb+srv://