Ich habe eine Testdatei tests.py
. Derzeit, um das Problem zu isolieren, enthält die Datei nur die folgende Zeile:Kann Mock-in-Test mit Pytest nicht importieren
from mock import Mock
Wenn ich versuche, diese Datei mit pytest
auszuführen:
$ py.test tests.py
ich folgenden Fehler Ausgabe:
tests.py:1: in <module>
from mock import Mock
E ImportError: No module named mock
=========================== 1 error in 0.00 seconds ============================
Wenn ich ausführen, um die Datei mit python
:
$ python tests.py
Ich bekomme diesen Fehler nicht. In ähnlicher Weise kann ich, wenn ich einen interaktiven Interpreter öffne, mock
ohne Probleme importieren. Warum kann ich in diesem Zusammenhang nicht auf mock
zugreifen?
haben Sie Ihre PATH-Variable überprüft, vielleicht haben Sie eine andere Python binäre Laufen ? –
Danke @MichaelKarotsieris, das hat mich auf den richtigen Weg gebracht. Ich war in einem virtualenv, aber pytest wurde über meinen OS-Paketmanager installiert ("apt" unter Ubuntu). Wenn ich den 'py.test' Befehl ausgeführt habe, war meine virtuelle Umgebung * nicht * in' sys.path', und dort wurde 'mock' installiert. Ich musste die Version von pytest entfernen, die durch 'apt' installiert wurde, und sie über 'pip' in meinem virtualenv installieren, damit es funktioniert ... – elethan
cool! Schön zu helfen! :) –