簡體   English   中英

讀取 WSGI 處理程序(Flask、Pymongo)時出錯

[英]Error occurred while reading WSGI handler (Flask, Pymongo)

我用 Flask 開發了一個 web 應用程序,它連接到一個 MongoDB 數據庫。 現在我已經嘗試部署到 Windows IIS 環境。 我在瀏覽器中顯示應用程序時收到錯誤消息。

在這里,我在圖像中指出了“aplicativoflask”項目的文件樹。 App.py 是主腳本。

在此處輸入圖像描述

我正在使用 python 3.9.13 和 Flask 1.1.2 和 wfastcgi 3.0.0

這里我展示了 web.config 文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <add value="App.py" />
            </files>
        </defaultDocument>
    </system.webServer>
    <appSettings>
        <add key="PYTHONPATH" value="C:\websites\applicativoflask" />
        <add key="WSGI_HANDLER" value="App.app" lockItem="false" />
    </appSettings>
</configuration>

我應該指出,我安裝了 Python 和 Anaconda(我沒有直接安裝 python)。

這是我得到的錯誤:

Error occurred while reading WSGI handler:

Traceback (most recent call last):
  File "C:\Users\Administrator\anaconda3\lib\site-packages\wfastcgi.py", line 791, in main
    env, handler = read_wsgi_handler(response.physical_path)
  File "C:\Users\Administrator\anaconda3\lib\site-packages\wfastcgi.py", line 633, in read_wsgi_handler
    handler = get_wsgi_handler(os.getenv("WSGI_HANDLER"))
  File "C:\Users\Administrator\anaconda3\lib\site-packages\wfastcgi.py", line 616, in get_wsgi_handler
    raise ValueError('"%s" could not be imported%s' % (handler_name, last_tb))
ValueError: "App.app" could not be imported: Traceback (most recent call last):
  File "C:\Users\Administrator\anaconda3\lib\site-packages\wfastcgi.py", line 600, in get_wsgi_handler
    handler = __import__(module_name, fromlist=[name_list[0][0]])
  File "C:\websites\applicativoflask\.\App.py", line 6, in <module>
    from pymongo import MongoClient
  File "C:\Users\Administrator\anaconda3\lib\site-packages\pymongo\__init__.py", line 78, in <module>
    from pymongo.mongo_client import MongoClient  # noqa: F401
  File "C:\Users\Administrator\anaconda3\lib\site-packages\pymongo\mongo_client.py", line 59, in <module>
    from pymongo import (
  File "C:\Users\Administrator\anaconda3\lib\site-packages\pymongo\uri_parser.py", line 23, in <module>
    from pymongo.client_options import _parse_ssl_options
  File "C:\Users\Administrator\anaconda3\lib\site-packages\pymongo\client_options.py", line 24, in <module>
    from pymongo.pool import PoolOptions
  File "C:\Users\Administrator\anaconda3\lib\site-packages\pymongo\pool.py", line 22, in <module>
    import ssl
  File "C:\Users\Administrator\anaconda3\lib\ssl.py", line 99, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: DLL load failed while importing _ssl: The specified module could not be found.

我請求您的支持來解釋錯誤並提供解決方案。 非常感謝您的任何評論。

請嘗試將以下文件從目錄anaconda3\Library\bin復制到anaconda3/DLLs

libcrypto-1_1-x64.dll

libssl-1_1-x64.dll

然后調用命令並打開網頁。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM