python2.7 + pymongo: ошибка: использование SCRAM-SHA-256 требует непереваренных паролей - PullRequest
0 голосов
/ 14 февраля 2019

Попытка оживить старое приложение на Python.Python скрипт пытается подключиться к монго.Получение этой ошибки:

Для использования SCRAM-SHA-256 требуются непереваренные пароли

Среда Mac OSX 10.13.6 conda, все пакеты установлены локальнодля пользователя.python2.7 (не может обновить) pymongo 2.9.1

Другие компоненты, установленные с pip2.7 install -r requirements:

Flask==0.10.1
Flask-Cors==2.1.2
Flask-PyMongo==0.3.1

в Mongo Я создал пользователя-администратора: db.createUser ({user:"admin", pwd: "abc123", роли: [{role:"userAdminAnyDatabase",db:"admin"}], passwordDigestor:"server" }), и я могу видеть это с db.getUsers(). Также пробовал с mechanisms : [“SCRAM-SHA-256”], mechanisms : [“SCRAM-SHA-1”] и с ними обоими. Запуск моего скрипта на python всегда дает это:

Traceback (последний вызов был последним): файл "pymm_run.py", строка 467, в args.func (args) Файл "pymm_run.py", строка 186, в bootstrap_restore db = get_db ()Файл "/Users/myuser/matchminer-api/matchminer/database.py", строка 50, в подключении get_db [MONGO_DBNAME] .add_user (файл MONGO_USERNAME, MONGO_PASSWORD) "/ Users / myuser / miniconda3 / envs / matchminer / lib / python2.7 / site-packages / pymongo / database.py ", строка 966, в add_user (не uinfo [" users "]), имя, пароль, файл read_only, ** kwargs) Файл" / Users / myuser / miniconda3 / envs /matchminer / lib / python2.7 / site-packages / pymongo / database.py ", строка 892, в _create_or_update_user read_preference = ReadPreference.PRIMARY, ** опция) File "/Users/myuser/miniconda3/envs/matchminer/lib/python2.7/site-packages/pymongo/database.py", строка 535, в команде codec_options, ** kwargs) [0] Файл "/ Users / myuser/miniconda3/envs/matchminer/lib/python2.7/site-packages/pymongo/database.py ", строка 440, в _command msg, allowable_errors) Файл" / Users / myuser / miniconda3 / envs / matchminer / lib / python2.7 / site-packages / pymongo / helpers.py ", строка 213, в _check_command_response повысить OperationFailure (msg% errmsg, code, response) pymongo.errors.OperationFailure: команда SON ([('createUser', 'user'), ('pwd', u'fa26a506aa0f786a447bbd6d1caaa8b5 '), (' digestPassword ', False), (' role ', [' dbOwner ']), (' writeConcern ', {})]) в совпадении пространства имен. $ cmd не удалось: использование $ cmd:SCRAM-SHA-256 требует непереваренных паролей

Почему это происходит и что за средство?Спасибо

1 Ответ

0 голосов
/ 28 марта 2019

проверьте вашу версию Pymongo.Как указано на странице ansible модуля:

Требуется пакет Python pymongo на удаленном хосте, версия 2.4.2+.Это можно установить с помощью pip или менеджера пакетов ОС.@see http://api.mongodb.org/python/current/installation.html

Я просто запускаю pip -U установить pymongo

...