如何修复在IIS CGI上运行Python脚本时出现的502错误



在导入任何默认情况下没有附带python 3.9的包时,我在运行python脚本时遇到问题。详细信息如下:

  • IIS 10在Windows服务器2019上运行
  • Python 3.9.7安装在C:\Program Files\Python397下
  • 程序包位于C:\Program Files\Python397\lib\site程序包下
  • 我完成了将IIS配置为使用处理程序映射等运行python的所有步骤
  • IUSR的安全设置python安装文件夹和IIS文件夹(/pyapp(的完全控制
  • 当使用简单的表格(如https://www.tutorialspoint.com/python/python_cgi_programming.htm)它在浏览器上运行良好

问题来了-我有一个新的.py脚本,内容如下。当在浏览器上运行时,它会给我一个臭名昭著的错误";502-Web服务器在充当网关或代理服务器时收到无效响应"因为">导入请求";线如果我删除该行(导入请求(,则它工作正常。所有的包装,像这样";请求";已正确安装,并且在Jupyter Notebook中运行良好。我听说IIS在diff-acct(IUSR?(上运行,无法访问此网站包文件夹,所以我在这里添加了,但无法工作。我还在系统路径中添加了这些路径,也没有任何帮助。谢谢你的帮助!

import sys
import os
import site
site.addsitedir(r'C:Program FilesPython397libsite-packages')
sys.path.append(r'C:Program FilesPython397libsite-packages')
import requests

print('Content-type: text/htmlrnrn')
print('html tags here')

感谢@furas的帮助。根本原因是,出于某种原因,当我pip安装这些包时,它们被安装在diff文件夹(用户漫游文件夹(下,而不是安装python的文件夹下。当我们将import语句放在html输出部分的try/except块中时,可以看到异常错误。我pip卸载并重新安装了它们,现在它们安装在python文件夹下。我的python cgi脚本现在在网络浏览器上运行良好。再次感谢。

最新更新