Cet article ressemble plus à une compression d'erreurs. ** Une fois que vous avez résolu le problème, vous devriez également lire cet article (https://qiita.com/ysk24ok/items/2711295d83218c699276). ** **
Pylint de VSCode est ennuyeux avec l'importation! !! !! !! Qu'Est-ce que c'est? Je parle de
Lors de l'écriture de Python avec VSCode Lorsque j'essaye d'importer mon propre module par rapport à celui-ci, j'obtiens presque toujours une erreur.
La structure de répertoires suivante dans l'environnement global (sans utiliser l'environnement virtuel).
~
-Sample
-main.py
-__init__.py
-sub_methods
-method1.py
-method2.py
-out.py
Chacun a le code suivant.
main.py
print("main")
from sub_methods import method1
__init__.py
print("__init__")
import os
originaly = os.getcwd
os.chdir(os.path.dirname(os.path.abspath(__file__)))
from . import main
os.chdir = originaly
method1.py
print("method1")
import method2
#from sub_methods import method2
method2.py
print("method2")
out.py
print("out")
from Sample import main
1.unresolved import Même dans cet état, il y a un avertissement.
Cette "importation non résolue" ... "` apparaîtra lorsque vous effectuez une importation relative si elle est plus profonde que la racine de l'espace de travail.
Même si on dit qu'il n'est pas résolu, on a l'impression que ... Pour calmer ça
Ouvrez Ctrl + Maj + P
> Settings.json
** S'il faut changer "" python.jediEnabled ": false en
" python.jediEnabled ": true`
Supprimez cette section elle-même. ** **
2.Unable to import
tais-toi! Le répertoire courant est Sample
car je lance directement main! !! !! !!
… E? Partir de l'extérieur
from sub_methods import method1
à from .sub_methods import method1
Réécrire dans ...?
Ne déplacez pas la racine de travail et le répertoire courant ...?
Chit, je suis désolé ... Je suis désolé.
Blague à part, si vous appelez method2 depuis method1 au lieu de juste main,
Par tous les moyens, vous importerez avec Sample
comme répertoire courant.
method1.py
print("method1")
import method2
#from sub_methods import method2
output
ModuleNotFoundError: No module named 'method2'
Changer>
method1.py
print("method1")
#import method2
from sub_methods import method2
output
main
method1
method2
Je n'ai pas d'autre choix que de l'écrire comme ça, mais si j'obtiens une erreur, je ne peux m'empêcher d'être distrait.
Cela peut être supprimé en faisant reconnaître à Pylint le ** répertoire courant (ici Sample
) comme un dossier de bibliothèque. ** **
lib
-os
-...
-numpy
-...
...
Mais si c'est la reconnaissance de bibliothèque par défaut, ici
lib
-os
-...
-numpy
-...
-main
-sub_methods
-method1
-method2
Si tu me laisse le reconnaître comme
Vous ne devriez pas vous fâcher si vous écrivez from sub_methods method2
like from os import path
.
Par conséquent, ** Créez les fichiers suivants dans le dossier racine de travail **
pylintrc
init-hook="./Sample"
Maintenant, lorsque vous rechargez la charpie ou redémarrez VSCode, vous ne devriez plus voir l'erreur.
Cet article ressemble plus à une compression d'erreurs. ** Une fois que vous avez résolu le problème, vous devriez également lire cet article (https://qiita.com/ysk24ok/items/2711295d83218c699276). ** **
Recommended Posts