web-dev-qa-db-fra.com

"Pylint (erreur d'importation)" Tout en importation d'un module dans le même dossier avec VSCODE

Je construis mon code dans vscode en utilisant python 3.7.3.

La structure du dossier:

project 
├── main.py
└── modules
    ├── __init__.py
    ├── foo.py
    └── boo.py

À foo.py:

import boo
boo.printBoo()

Quand je courais foo.py ça marche. Je peux obtenir le résultat que j'attends.

This is boo

Mais vscode apparaît:

Impossible d'importer 'boo' pylint (erreur d'importation)

Bien que le code fonctionne, existe-t-il une façon de vous débarrasser de pylint(import-error)?


J'ai essayé de changer l'instruction d'importation pour

from ..modules import boo as Boo

eRREUR: Tentative d'importation relative sans paquet parent connu

et

import modules.boo as Boo

eRREUR: Aucun module nommé 'modules'

Quel est le problème, est-ce que c'est le problème de Pylint ou ai-je abuser de l'importation?

11
realgreen

Avait exactement le même problème, avec deux fichiers coexistants dans le même sous-dossier, exécutant simplement bien, mais obtenir une pylint(import-error) dans vscode.

Le solution pour moi ajouté le texte suivant à <projectroot>/.vscode/settings.json:

{
    "python.linting.pylintArgs": [
        "--init-hook",
        "import sys; sys.path.insert(0, './modules')"
    ]
}

Qui ajoute que le sous-dossier "modules" pertinent sur les chemins où -pylint regardera, outre le dossier racine du projet

0
Daniel TZ