Нет модуля с именем mock с python 3.2

Я могу импортировать макет с python 2.7, 3.3 и 3.4, но при использовании 3.2 я получаю следующую ошибку импорта.

Python 2.7.5 (default, Mar  9 2014, 22:15:05) 
>>> from mock import patch

Python 3.2.5 (default, Aug 25 2015, 09:22:32) 
>>> from mock import patch
...
ImportError: No module named mock

Как я могу решить это для Python 3.2?


person rix    schedule 26.08.2015    source источник
comment
В вашей виртуальной среде pip install mock.   -  person metatoaster    schedule 26.08.2015


Ответы (1)


Похоже, модуль не установлен для python3.2. Вы должны установить его. Если у вас установлены easy_install или pip для этого интерпретатора, вы сможете просто сделать:

easy_install3.2 mock

or:

pip3.2 install mock

Если вы используете виртуальную среду, вам может потребоваться сначала активировать ее. Если вы активируете виртуальную среду для интерпретатора python3.2, вам не нужно указывать версию pip, поэтому pip install mock должна работать)


Обратите внимание, что этот модуль был интегрирован в стандартную библиотеку как unittest.mock из python3. 3+. Таким образом, в python3.3+ вы можете from unittest.mock import patch, и это не потребует никакой установки.

person Bakuriu    schedule 26.08.2015
comment
На самом деле проблема связана с tox и, в частности, с python3.2, но, к сожалению, я отправил его до завершения вопроса. Учитывая вопрос, это правильный ответ;) - person rix; 26.08.2015