Je travaille sur un package en Python. J'utilise virtualenv. J'ai défini le chemin vers la racine du module dans un chemin .pth dans mon virtualenv, afin de pouvoir importer les modules du package tout en développant le code et faire des tests (Question 1: est-ce une bonne façon de faire?). Cela fonctionne bien (voici un exemple, c'est le comportement que je souhaite):
(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
Cependant, si j'essaie d'utiliser PyTest, j'obtiens des messages d'erreur d'importation:
(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
Je suis un peu perplexe, il semble que cela indique une erreur d'importation, mais Python fonctionne bien, alors pourquoi y a-t-il un problème spécifiquement avec PyTest? Une suggestion sur la raison / le remède (question 2)? J'ai cherché sur Google et j'ai débordé la pile de l'erreur `` ImportError: can't import '' pour PyTest, mais les hits que j'ai obtenus étaient liés au chemin python manquant et à y remédier, ce qui ne semble pas être le problème ici. Aucune suggestion?