Отладка приложения Flask в Pycharm со странной структурой

Я новичок в отладке flask с помощью pycharm, поэтому, надеюсь, все, что я прошу, не слишком тривиально.

У меня есть два файла, code/__init__.py и code/runserver.py.

Файл __init__.py — это место, где инициализируется мое приложение Flask, что означает, что именно здесь оператор

app = Flask(__name__) 

происходит.

В файле runserver.py у меня есть утверждение:

if __name__ == '__main__':
    main()

Сервер выполнения импортирует приложение следующим образом:

from code import app, __app_name__, __version__

Внутри основной функции находится ряд parser.addoption команд, а затем, в конечном счете,

def main():
    parser = OptionParser()
    parser.add_option("-d", "--debug", action="store_true",
                      default=app.config.get('DEBUG', True),
                      dest="debug", help="Turn on debugging")
    (options, args) = parser.parse_args()
    app.run(debug=options.debug, host=options.address, port=options.port)

В этом случае какой будет моя точка входа для отладки приложения? Я предполагал, что это будет runserver.py, но когда я пытаюсь это отладить, я получаю ответ

ImportError: No module named code

Однако, если я запускаю его как

python ${BASE}/code/runserver.py

У меня нет никаких проблем.


person bearrito    schedule 22.03.2013    source источник


Ответы (1)


Несколько моментов

1) Если вы хотите выполнять отладку с помощью PyCharm, вы должны установить для отладчика по умолчанию значение False (app.debug)
2) В PyCharm вы не должны использовать папку /code/ как корневую, потому что таким образом код не виден при импорте < br> Если вы сделаете codeProject/code/ и откроете codeProject как root в pycharm, а затем запустите codeProject/runserver.py или codeProject/code/runserver.py, все должно быть хорошо

person Tigra    schedule 23.03.2013