Ich habe beschlossen, einen Webserver in ein bestehendes Projekt mit Pycharm einzubauen. Ich habe das Kolbenprojekt jedoch als Unterpaket in das vorhandene Projekt eingefügt.
Als ich dann zum Unterpaket cd, den Falsk-Server startete und auf das Routing zugegriffen habe, wurde folgende Fehlermeldung angezeigt:
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'
Im Editor pycharm gibt es keine Fehler in der Importanweisung, aber wenn ich auf den Flask-Server zugreife, wird auf der Webseite eine Kieme angezeigt, die die abhängigen Pakete nicht finden kann.
Ich habe einen Tintenfischbefehl ausgeführt, als ich den Flaschenserver gestartet habe.
cd /home/user/Source/Machine_Learning_Project/resnet/server
flask run
Der Pfad zu dem Verzeichnis, in dem Sie diesen Befehl ausführen, ist das Root-Parsing des Flask-Servers. Stammpfad: / home / user / Source / Machine_Learning_Project / resnet / server Der Flask-Server kennt nur diesen Pfad. Wenn Sie also zum importierten Paket gelangen, können Sie nur über diesen Pfad darauf zugreifen. Ich erhalte die Fehlermeldung "Paket nicht gefunden", da sich das importierte Paket in einem anderen Verzeichnis befindet
Wie in der Abbildung gezeigt, ist der orangefarbene Teil die Stammperspektive des Kolbenservers. Beim Importieren eines anderen Pakets als des orangefarbenen Teils (roter Teil) tritt natürlich ein Fehler auf, der nicht gefunden werden kann. Wie Sie sehen können, gibt der Editor den roten Teil als Stammpfad an, sodass für den Importteil kein Fehler angezeigt wurde.Teilen Sie dem Falsk-Server den Speicherort des Pakets mit, das Sie importieren möchten, und es wird aufgelöst. Die Lehrmethode ist der folgende Code.
import sys
sys.path.append("/home/user/Source/Machine_Learning_Project")
Als Einschränkung sollten Sie es vor die Importanweisung des Pakets setzen, das Sie importieren möchten.
Recommended Posts