Je travaille sur un paquet en Python. J'utilise virtualenv. J'ai défini le chemin vers la racine du module dans un chemin .pth dans mon virtualenv, de sorte que je puisse importer des modules du paquetage tout en développant le code et en effectuant des tests (Question 1 : est-ce une bonne façon de faire ?). Cela fonctionne bien (voici un exemple, c'est le comportement que je veux) :
(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, je reçois 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 le fait bien alors pourquoi y a-t-il un problème spécifique avec PyTest ? Une suggestion sur la raison / le remède (Question 2) ? J'ai cherché sur Google et fait un stack-overflow de l'erreur 'ImportError : cannot import' pour PyTest, mais les résultats que j'ai obtenus concernaient un chemin python manquant et un remède à cela, ce qui ne semble pas être le problème ici. Avez-vous des suggestions ?