Python从本地IIS上运行的CGI脚本导入错误

时间:2019-05-23 13:51:30

标签: python-3.x iis python-import

我正在本地Win10 IIS上运行python CGI脚本。一切都很好。然后,我点安装了“ dateparser”以添加功能。 这导致了一个错误,我在这里引用(我的AJAX查询的结果):

将dateparser导入为dp   <模块>中第4行的文件“ C:\ Users \ fmoeller \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ site-packages \ dateparser__init __。py”     从.date导入DateDataParser   文件中的第9行     进口六 ModuleNotFoundError:没有名为“六个”的模块

从命令行运行脚本时,足够有趣的一切都能正常工作。

怎么了?

这是python脚本:

import os, sys
import json
from datetime import datetime
import dateparser as dp

def receive_data():
    content_len = int(os.environ["CONTENT_LENGTH"])
    req_body = sys.stdin.read(content_len)
    my_dict = json.loads(req_body)
    return my_dict

def process_data(my_dict):
    raw = my_dict['dt']
    try:
        dt = dp.parse(raw, languages=['de'])
    except ValueError:
        processed = ''
    else:
        processed = datetime.strftime(dt, '%d.%m.%Y')

    my_dict['dt'] = processed
    return my_dict

def return_data(my_dict):
    print('Content-Type: application/json\n\n')
    print(json.dumps(my_dict))

if __name__ == '__main__':
    # I have commented this out just for the test from the command line !!!
    # my_dict = receive_data()

    # also this line is only for command line test
    my_dict = {'dt': '01022020'}
    my_dict = process_data(my_dict)
    return_data(my_dict)

尽管我认为没有必要,但这是调用javascript的部分:

                <input id="input_bis" />
                <script>
                    document.getElementById('input_bis').onkeypress = function (e) {
                        if (!e) e = window.event;
                        if (e.keyCode == '13') {
                            var value = this.value
                            $(function () {
                              $.ajax({
                                type: "POST",
                                url: "http://localhost/check_date.py",
                                data: JSON.stringify({ "dt": value}),
                                dataType: "json",
                                  success: function (response) {
                                      document.getElementById('input_bis').value = JSON.parse(JSON.stringify(response))['dt'];
                                  },
                                error: function (ajaxContext) { alert(ajaxContext.responseText) },
                              });
                            });
                            return false;
                        }
                    }
                </script>

0 个答案:

没有答案