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 ответа
Я была такая же проблема.
Не уверен, в чем была причина, но она была решена после того, как я:
pip install responses
в моем виртуальном окружении (это само собой разумеется, но я добавляю его для полноты картины)- Сохраненные требования
pip freeze > requirements.txt
- Деактивировано (
deactivate
), удалено (rm -rf venv
) и воссоздал виртуальную среду (virtualenv -p $(which python3) venv
) - Активировал свежий виртуальный env
. venv/bin/activate
- Переустановил требования заново
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