[PYTHON] Contre-mesures pour ModuleNotFoundError: aucun module nommé '***' lors de l'exécution de Flask

problème###

J'ai décidé de mettre un serveur web dans un projet existant avec Pycharm. Cependant, j'ai mis le projet flask en tant que sous-package dans le projet existant.

Ensuite, lorsque j'ai cd vers le sous-paquet, démarré le serveur falsk et accédé au routage, j'ai eu l'erreur suivante:

flask.cli.NoAppException
lask.cli.NoAppException: While importing "Machine_Learning_Project.resnet.server.flaskr", an ImportError was raised:

Traceback (most recent call last):
  File "/home/user/anaconda3/lib/python3.7/site-packages/flask/cli.py", line 240, in locate_app
    __import__(module_name)
  File "/home/user/Source/Machine_Learning_Project/resnet/server/flaskr/__init__.py", line 4, in <module>
    from resnet.server.flaskr.index import run_process_result, index_router
ModuleNotFoundError: No module named 'resnet'

Dans l'éditeur pycharm, il n'y a pas d'erreurs dans l'instruction d'importation, mais lorsque j'accède au serveur flask, j'obtiens un message côté Web indiquant que je ne trouve pas le package dépendant.

Cause

J'ai exécuté une commande squid lorsque j'ai démarré le serveur flask.

cd /home/user/Source/Machine_Learning_Project/resnet/server
flask run

Le chemin d'accès au répertoire dans lequel vous exécutez cette commande correspond à l'analyse racine du serveur flask. Chemin racine: / home / user / Source / Machine_Learning_Project / resnet / server Le serveur flask ne connaît que ce chemin, donc lorsque vous accédez au package importé, vous ne pouvez y accéder qu'à partir de ce chemin. J'obtiens une erreur de package non trouvé car le package importé se trouve dans un autre répertoire

スクリーンショット 2020-07-05 14.13.01.png Comme le montre la figure, la partie orange est la perspective racine du serveur flask. Bien entendu, lors de l'importation d'un package autre que la partie orange (partie rouge), une erreur introuvable se produit. スクリーンショット 2020-07-05 14.18.44.png Comme vous pouvez le voir, l'éditeur spécifie la partie rouge comme chemin racine, donc aucune erreur n'a été affichée pour la partie importée.

Solution

Indiquez au serveur falsk l'emplacement du package que vous souhaitez importer et il sera résolu. La méthode d'enseignement est le code suivant.

import sys
sys.path.append("/home/user/Source/Machine_Learning_Project")

En guise de mise en garde, vous devez le placer avant l'instruction d'importation du package que vous souhaitez importer.

Recommended Posts

Contre-mesures pour ModuleNotFoundError: aucun module nommé '***' lors de l'exécution de Flask
Lorsque lambda-uploader dit Aucun module nommé xxxx.
Erreur python d'aujourd'hui: ModuleNotFoundError: aucun module nommé
ModuleNotFoundError en Python: aucun module nommé story
ModuleNotFoundError: aucun module nommé "py4j"
ModuleNotFoundError: Aucun module nommé "flask_sqlalchemy"
[Python] ModuleNotFoundError: aucun module nommé "urlparse"
Résoudre aucun module nommé tkinter
Erreur Python: ModuleNotFoundError: aucun module nommé 'flask'
ModuleNotFoundError dans la poésie: aucun module nommé'etuptools '
J'ai obtenu "ModuleNotFoundError: aucun module nommé" azure "" lors de l'exécution d'un programme à l'aide du SDK Azure pour Python
Comment résoudre ModuleNotFoundError: aucun module nommé XXX dans Jupyter Notebook
Que faire lorsque ModuleNotFoundError: Aucun module nommé'XXX 'ne se produit en Python
Erreur lors de l'installation d'opencv-python sur jetson nano (ModuleNotFoundError: aucun module nommé'skbuild ')
Soudainement avec Python PyInstaller Aucun module nommé pyinstaller
Microsoft Cognitive Toolkit: ModuleNotFoundError: aucun module nommé "cntk._cntk_py"
Erreur python d'aujourd'hui: ModuleNotFoundError: aucun module nommé'requests '
Erreur python du jour: ModuleNotFoundError: Aucun module nommé'bs4 '
Aucun module nommé'_ctypes 'n'apparaît lors de l'installation de pipenv
python> import seiral> ImportError: aucun module nommé serial
ModuleNotFoundError: Erreur de module nommé'_bz2 'en Python dans pyenv
Importer cv2 ModuleNotFoundError: Aucun module nommé "cv2" dans python3
Aucun module nommé Que faire si vous obtenez "libs.resources"
ModuleNotFoundError: No module Que faire si vous obtenez 'sensorflow.contrib'
Après avoir installé pygame avec conda, installez Aucun module nommé police
ImportError: Pas de module Que faire quand on vous dit