ImportError: нет модуля с именами ответов

Я запускаю py.tests из виртуальной среды. получение

ImportError: No module named responses

после замораживания pip я вижу, что ответы установлены

pip freeze                                                   ✱
cookies==2.2.1
funcsigs==1.0.2
mock==2.0.0
pbr==1.10.0
py==1.4.31
pymongo==2.7.2
pytest==2.9.2
requests==2.10.0
responses==0.5.1
six==1.10.0

Запуск тестов:

like so py.test --verbose tests/

2 ответа

Я была такая же проблема.

Не уверен, в чем была причина, но она была решена после того, как я:

  1. pip install responses в моем виртуальном окружении (это само собой разумеется, но я добавляю его для полноты картины)
  2. Сохраненные требования pip freeze > requirements.txt
  3. Деактивировано (deactivate), удалено (rm -rf venv) и воссоздал виртуальную среду (virtualenv -p $(which python3) venv)
  4. Активировал свежий виртуальный env . venv/bin/activate
  5. Переустановил требования заново pip install -r requirements.txt

Я предполагаю, что это возникает из-за ошибки при установке ответов:

      ERROR: responses 0.12.1 has requirement urllib3>=1.25.10, but you'll have urllib3 1.22 which is incompatible.

Если вы сделаете обновление urllib3вы получаете эту ошибку:

      ERROR: requests 2.18.4 has requirement urllib3<1.23,>=1.21.1, but you'll have urllib3 1.26.2 which is incompatible.

Еще одна причина перейти на httpx

Итак, что вы можете сделать, это установить более старый responsesверсия:

      responses<0.10.8
Другие вопросы по тегам