Bonsoir

J'ai le code suivant dans test_excel.py:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
from .excel2python import ExcelImport
 
def test_no_releases_sheet():
    result = ExcelImport("hello.xlsx")
    assert result == "OK"
Ce code fonctionne avec pytest.

Par contre, lorsque je lance en ligne de commande

python3 test_excel.py

Traceback (most recent call last):
File "test_excel.py", line 7, in <module>
from .excel2python import ExcelImport
ImportError: attempted relative import with no known parent package
Je ne comprends pas pourquoi pytest trouve le module excel2python (j'attire votre attention sur le . qui précède) et en lançant
python3 test_excel.py,
cela n'est pas trouvé.

Je me suis documenté sur les import, notamment les import relatifs https://towardsdatascience.com/how-t...r-248ce5b69b1c. Ce code est inclus dans un code complexe (il est appeler par un module d'un répertoire de plus haut niveau) et je souhaite conserver l'import relatif.


J'aimerais juste comprendre comment pytest fait pour fonctionner et pouvoir lancer
python3 test_excel.py,