Возникла проблема с импортом py файла во Flask - PullRequest
0 голосов
/ 10 мая 2018

У меня проблемы с импортом файлов py в колбу. Вот как структурированы мои файлы:

Колба: /var/www/html/flask_app/flask.py

Текущее расположение скрипта Python: /var/www/html/flask_app/python/IP/ip.py

Желаемое расположение скрипта Python: /scripts/python/IP/ip.py

Я бы хотел переместить свой скрипт из каталога www и создать новую папку в /. У меня возникают проблемы, когда после перемещения я не могу импортировать его и получить сообщение об ошибке 500.

Пожалуйста, смотрите ниже:

// flask.py   
@app.route('/ipcheck', methods=['POST'])
def ip_check():    
    from python.IP import ip
    return ip.check_ip_range()

// Above works when python folder is in same directory.  However when I move python folder to /scripts/, I get Error 500.

// Flask.py after folder move - should import from /scripts/pyton/IP/ip.py

@app.route('/ipcheck', methods=['POST'])
def ip_check():
    sys.path.append('/scripts/')     
    from python.IP import ip
    return ip.check_ip_range()

Как импортировать ip.py?

1 Ответ

0 голосов
/ 10 мая 2018

Это должно быть в вашем пути Python. Если вы не хотите, чтобы он находился в папке www, установите его по пути, где в вашей системе установлены другие библиотеки Python. В противном случае добавьте это местоположение в путь перед импортом следующим образом:

import sys
sys.path.append("/scripts/python/")

Несмотря на это, вы не сможете импортировать его из python, если только в этой папке python нет папки __init__.py, чтобы сделать ее пакетом (если только не является вашим системным путем Python). Так что в этом случае вы просто сделаете:

from IP import ip

Предполагается, что вы добавили его в системный путь динамически, как показано выше.

...