2017-09-16 3 views
-1

Ich erhalte die folgenden FehlerPython Flask Heroku importieren kann nicht Modul

"ModuleNotFoundError: No module named 'class1'" 

Struktur

- hello-world 
    - src 
     - __init__ 
     - main 
     - class1 
- Procfile 

Die main1 Datei sieht wie folgt aus:

from class1 import G 

APP = Flask(__name__) 
@APP.route('/', methods=['GET']) 
def index() -> str: 
    return 'We are alive' 

Profil:

Die Heroku Protokolle zeigt uns die folgenden Fehler:

ModuleNotFoundError: No module named 'class1'

Ich weiß nicht, was ich falsch mache. Ich verwende pipenv, um Abhängigkeiten zu installieren, und es enthält gunicorn.

+1

zurückgeben Ihr PYTHONPATH scheint 'Hallo-Welt' zu sein, so sollte es' src.class1 Import G' sein. –

+0

Sie müssen Ihre procfile in 'web: gunicorn src.main ändern: APP --log-file-' –

Antwort

0

Sie haben die Klasse zu importieren, mit:

from .class1 import G 

Sie den Punkt nicht vergessen. Wenn Sie ein Paket erstellen, müssen Sie angeben, wo Ihre Klasse mit diesem relativen Pfad geschrieben wurde. Dies wird als Intra-Paket-Referenzen bezeichnet.

Siehe die entsprechende doc.

+0

es behoben mein Problem auf HEROKU @ Y0da, aber lokal heißt es, dass es kein Modul '__main __. Class1' seit src ist kein Paket. Ich arbeite lokal mit dem Befehl 'pipenv run python3 src/slack_service.py' – user8569455

+0

danke für die Hilfe, es ist auf die gleiche Frage bezogen, da es mein Problem nicht beheben wird. Ich weiß nicht, was du meinst, ich habe die Init-Datei nicht importiert. – user8569455

+0

@ user8569455 was ist der Fehler dann? Der Importfehler sollte behoben sein. – Y0da

0

sollte so sein

from hello-world.src.class1 import G 

zuerst Ihren Ordner hallo-Welt umbenennen .. Python nicht Operanden Klassennamen oder Ordnernamen erkennen. es wird einen Fehler

Verwandte Themen