我尝试运行一个py文件时出现Python错误

时间:2013-09-07 15:33:05

标签: python facebook-unity-sdk

我正在尝试运行py文件,但我收到以下错误

IMPORT ERROR : NO MODULE NAMED "BASEHTTPSERVER"

py文件中包含的代码如下:

import BaseHTTPServer, SimpleHTTPServer
import ssl
httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket (httpd.socket, certfile='server.pem', server_side=True)
httpd.serve_forever()

提前致谢 最好的祝福 亚历杭德罗·卡斯坦

2 个答案:

答案 0 :(得分:1)

回答Python 3.x 如果您使用的是Python3.x,请将from BaseHTTPServer更改为from http.server

如果您为Python 2.x编写了此代码并且使用Python3.x运行它,2to3工具会在将源代码转换为Python 3时自动调整导入。

回答Python 2.x 该错误告诉您BaseHTTPServer需要PYTHONPATH

也就是说,Python无法在任何地方找到模块BaseHTTPServer,您需要安装它,或者如果它安装在非标准位置,请修改您的PYTHONPATH环境变量以包含它 - 但这有点奇怪(虽然不是不可能)的情况,因为该模块通常包含在Python2.x中

答案 1 :(得分:1)

如果您使用的是Python 3.x,请尝试以下操作:

import http.server
import ssl

httpd = http.server.HTTPServer(('localhost', 4443), http.server.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket, certfile='server.pem', server_side=True)
httpd.serve_forever()
Python 2中的

BaseHTTPServerSimpleHTTPServer模块已合并到Python 3中的http.server模块中。

<强>更新

BTW,端口号似乎不对。 HTTPS端口是443,而不是4443。