2016-12-06 2 views
0

Я пытаюсь изучить python и не могу понять, как python обрабатывает импорт. Я экспериментирую с приложением Flask, и я могу заставить его работать с относительными URL-адресами, но я хочу использовать абсолютные URL-адреса в качестве упражнения, чтобы узнать об импорте.Как использовать абсолютные пути в флеш-приложении?

Я установил свой PYTHONPATH в мой каталог app внутри моего проекта, но это, кажется, ничего не делает.

Вот мои настройки. У меня есть app/__init.py слева и app/mod_users/controllers.py справа. Мой run.py - файл с одной строкой, from app import app.

Как вы можете видеть на строке 17, он не любит абсолютный импорт. Может ли это быть потому, что моя переменная app называется app, и путь импорта?

enter image description here

+1

Похоже, что это так, этот пост может предложить обходное решение без изменения имен: http://stackoverflow.com/q/1224741/1248974 – davedwards

+0

, который сделал это. благодаря – David

ответ

0

После нескольких экспериментов, благодаря @downshift я думаю, что я понял это. 4 шага заставляют меня заявить, что хочу.

  1. Добавьте эту строку в верхнюю части моего app/__init.py

    from __future__ import absolute_import 
    
  2. export PYTHONPATH=./

  3. export FLASK_APP=appFLASK_DEBUG=1 для живой перезагрузки)

  4. Изменения run.py в

    from app import app 
    app.run() 
    

Если я сделать выше я могу использовать как flask run и python run.py, и они работают так же. Уо!

Смежные вопросы