Проблема
Я запускаю приложение flask, которое прекрасно работает, когда я использую «run» или «debug». Тем не менее, я получил ошибку при использовании «профиля», вот сообщение журнала
In folder C:/Users/Myname/PycharmProjects/ProjectName
"C:\Users\Myname\Anaconda3\envs\ProjectName\python.exe" "C:\Program Files\JetBrains\PyCharm
Professional Edition with Anaconda plugin 2019.2.4\helpers\profiler\run_profiler.py" 127.0.0.1 12055 -m flask run
Starting cProfile profiler
Traceback (most recent call last):
Snapshot saved to C:\Users\Myname/.PyCharm2019.2/system\snapshots\ProjectName1.pstat
File "C:\Program Files\JetBrains\PyCharm Professional Edition with Anaconda plugin 2019.2.4\helpers\profiler\run_profiler.py", line 173, in <module>
profiler.run(file)
File "C:\Program Files\JetBrains\PyCharm Professional Edition with Anaconda plugin 2019.2.4\helpers\profiler\run_profiler.py", line 89, in run
execfile(file, globals, globals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Professional Edition with Anaconda plugin 2019.2.4\helpers\profiler\prof_util.py", line 30, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "C:\Users\Myname\Anaconda3\envs\ProjectName\lib\site-packages\flask\__init__.py", line 19, in <module>
from . import json
ImportError: attempted relative import with no known parent package
Что я пробовал
Я Google и обнаружил, что это старая проблема.
Невозможно профилировать модуль с использованием относительного импорта
Профиль Pycharm не работает
Как воспроизвести его
Если вы хотите воспроизвести его, вы можете создать приложение flask, используя pycharm, а затем нажать «Профиль».
Код по умолчанию для * Приложение 1041 * работает следующим образом. Но я не думаю, что это имеет значение.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
Сообщение об ошибке может отличаться из-за изменения версии flask или версии Pycharm, но причина та же: File "xxx\lib\site-packages\flask\__init__.py", line 19, in <module>
использовать относительный импортировать и вызывать ImportError
Мой вопрос
Мой вопрос: есть ли способ заставить его работать? Любые хаки или трюки также приветствуются. Я просто хочу использовать профиль сейчас. Спасибо