在Flask中导入py文件时出现问题

时间:2018-05-09 22:50:42

标签: python python-2.7 flask

我在烧瓶中输入py文件时遇到问题。以下是我的文件结构:

Flask:/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 :(得分:1)

它需要在你的Python路径中。如果您不希望它在www文件夹中,请安装在系统上安装其他Python库的路径中。否则,在导入之前将该位置添加到路径中,如下所示:

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

即便如此,您也不会从python导入它,除非该python文件夹中包含__init__.py文件夹以使其成为包(除非 您的系统Python路径)。所以在这种情况下你只需:

from IP import ip

假设您动态地将其附加到系统路径,如上所示。