Azure выдает ошибку импорта модуля, но тот же код работает локально.
2019-05-29T02:50:47.388004719Z: [ERROR] Traceback (most recent call last):
2019-05-29T02:50:47.388027419Z: [ERROR] File "/usr/local/lib/python3.6/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
2019-05-29T02:50:47.388031719Z: [ERROR] worker.init_process()
2019-05-29T02:50:47.388035419Z: [ERROR] File "/usr/local/lib/python3.6/site-packages/gunicorn/workers/base.py", line 129, in init_process
2019-05-29T02:50:47.388039419Z: [ERROR] self.load_wsgi()
2019-05-29T02:50:47.388043019Z: [ERROR] File "/usr/local/lib/python3.6/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi
2019-05-29T02:50:47.388047119Z: [ERROR] self.wsgi = self.app.wsgi()
2019-05-29T02:50:47.388050819Z: [ERROR] File "/usr/local/lib/python3.6/site-packages/gunicorn/app/base.py", line 67, in wsgi
2019-05-29T02:50:47.388054619Z: [ERROR] self.callable = self.load()
2019-05-29T02:50:47.388075019Z: [ERROR] File "/usr/local/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 52, in load
2019-05-29T02:50:47.388084919Z: [ERROR] return self.load_wsgiapp()
2019-05-29T02:50:47.388088619Z: [ERROR] File "/usr/local/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
2019-05-29T02:50:47.388092219Z: [ERROR] return util.import_app(self.app_uri)
2019-05-29T02:50:47.388095619Z: [ERROR] File "/usr/local/lib/python3.6/site-packages/gunicorn/util.py", line 350, in import_app
2019-05-29T02:50:47.388099119Z: [ERROR] __import__(module)
2019-05-29T02:50:47.388102419Z: [ERROR] File "/home/site/wwwroot/app.py", line 102, in <module>
2019-05-29T02:50:47.388106219Z: [ERROR] from views.auth import register_user_bp, user_login_bp, user_logout_bp
2019-05-29T02:50:47.388109619Z: [ERROR] File "/home/site/wwwroot/views/auth.py", line 4, in <module>
2019-05-29T02:50:47.388113619Z: [ERROR] from Forms import *
2019-05-29T02:50:47.388116919Z: [ERROR] ModuleNotFoundError: No module named 'Forms'
Кажется, я нашел один из моих пользовательских модулей, но не тот, который находится в корневом каталоге из подкаталога.Однако, похоже, что он успешно импортирует Config.py из app.py, которые находятся в корневом каталоге.
Программа запускается из app.py в корневом каталоге, если это важно
Я думаю, что в том, как работает gunicorn / WSGI, есть что-то, чего я не понимаю.Я не могу понять, что меняет поведение импорта.
project_root
├── app.py
├── Config.py
├── Forms.py
├── __init__.py
├── manage.py
├── migrations
├── Models.py
├── requirements.txt
├── static
├── templates
│ ├── change_profile.html
│ ├── dash_app_layout.py
│ ├── default_login.html
│ ├── default_logout.html
│ ├── _formhelpers.html
│ ├── header.html
│ ├── index.html
│ ├── __init__.py
│ ├── nav_layout.py
│ ├── record_meeting.html
│ ├── register_user.html
│ ├── upload_meeting.html
│ └── voice_enroll.html
├── utils
│ ├── audio_processor
│ │ ├── AudioProcessor.py
│ │ ├── audio_type_converter.py
│ │ ├── Deidentifier.py
│ │ ├── Identification
│ │ ├── __init__.py
│ │ ├── Utterance.py
│ │ └── voice_enroll.py
│ ├── db_operations.py
│ ├── __init__.py
│ ├── interim_result_processor.py
│ └── utils.py
└── views
├── auth.py
├── dash_callbacks.py
├── __init__.py
├── meeting_upload.py
├── profile.py
└── record_meeting.py
Я не уверен, почему он работает локально, но не могу импортировать из Forms.py в веб-приложении.Я почти уверен, что это как-то связано со структурой файла, но я не могу понять, что и как исправить.