Ich arbeite an einem Paket in Python. Ich benutze virtualenv. Ich habe den Pfad zum Stammverzeichnis des Moduls in einem .pth-Pfad in meiner virtuellen Umgebung festgelegt, damit ich während der Entwicklung des Codes Module des Pakets importieren und Tests durchführen kann (Frage 1: Ist dies eine gute Möglichkeit?). Dies funktioniert gut (hier ist ein Beispiel, dies ist das Verhalten, das ich möchte):
(VEnvTestRc) zz@zz:~/Desktop/GitFolders/rc$ python
Python 2.7.12 (default, Jul 1 2016, 15:12:24)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from rc import ns
>>> exit()
(VEnvTestRc) zz@zz:~/Desktop/GitFolders/rc$ python tests/test_ns.py
issued command: echo hello
command output: hello
Wenn ich jedoch versuche, PyTest zu verwenden, werden einige Importfehlermeldungen angezeigt:
(VEnvTestRc) zz@zz:~/Desktop/GitFolders/rc$ pytest
=========================================== test session starts ============================================
platform linux2 -- Python 2.7.12, pytest-3.0.5, py-1.4.31, pluggy-0.4.0
rootdir: /home/zz/Desktop/GitFolders/rc, inifile:
collected 0 items / 1 errors
================================================== ERRORS ==================================================
________________________________ ERROR collecting tests/test_ns.py ________________________________
ImportError while importing test module '/home/zz/Desktop/GitFolders/rc/tests/test_ns.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/test_ns.py:2: in <module>
from rc import ns
E ImportError: cannot import name ns
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
========================================= 1 error in 0.09 seconds ==========================================
(VEnvTestRc) zz@zz:~/Desktop/GitFolders/rc$ which pytest
/home/zz/Desktop/VirtualEnvs/VEnvTestRc/bin/pytest
Ich bin ein bisschen verwirrt, es sieht so aus, als würde dies auf einen Importfehler hinweisen, aber Python macht es gut. Warum gibt es speziell bei PyTest ein Problem? Irgendein Vorschlag zum Grund / zur Abhilfe (Frage 2)? Ich habe den Fehler 'ImportError: Kann nicht importieren' für PyTest gegoogelt und gestapelt, aber die Treffer, die ich erhalten habe, standen im Zusammenhang mit dem fehlenden Python-Pfad und der Behebung dieses Problems, was hier nicht das Problem zu sein scheint. Irgendwelche Vorschläge?