2015-11-25 2 views
0

Я не могу импортировать функции из других файлов в __init__.py в колбу. Импорт-то из файла получает ошибку 500.Ошибка импорта __init__.py

__init__.py

from flask import Flask 
from fel import fel 

app = Flask(__name__) 

@app.route("/") 
def hello(): 
    return "Hello World!" 

if __name__ == '__main__': 
    app.run(debug=True) 

fel.py

def fel(a,b): 
    c = a+b 
    return (c) 

Если удалить следующую строку в файле __init__.py

from fel import fel 

Все в порядке.

__init__.py и fel.py находятся в том же каталоге

Я работаю в Python 3.4

Где ошибка? редактировать: структуры

FlaskApp\ 
    __init__.py 
    fel.py 
+0

Что такое имя пакета (каталога)? – wim

+2

Вы ожидаете, что 'from fel import fel' станет относительным импортом в стиле Python 2, импортируя функцию' fel' из 'whatever_your_package_is.fel'? Относительный импорт должен быть явным в Python 3. – user2357112

+0

Каталог FlaskApp – Ritero

ответ

1

Ваш импорт должен быть:

from FlaskApp.fel import fel 

И родительский каталог FlaskApp должен присутствовать в вашей sys.path каким-то образом (например, установите переменную среды PYTHONPATH).

-1

просто

from flask import Flask 
from .fel import fel 


app = Flask(__name__) 

@app.route('/') 
def hello_world(): 
    number = fel(4,6) 
    return (number) 

if __name__ == '__main__': 
    app.run(debug=True) 
+0

Вызываемый модуль? – wim

+0

Еще ошибка 500 Я тестирую свои цифровые видео и pythonanywhere – Ritero

+0

-wim Да, вы правы, это не вариант, но работает для теста – oskararenas

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