gpt4 book ai didi

python - 使用py2exe构建python时导入错误

转载 作者:行者123 更新时间:2023-11-28 19:26:19 25 4
gpt4 key购买 nike

我正在尝试制作一个小脚本来远程管理 Windows 计算机(目前只能关机)。我使用的方法涉及 webapp2服务器。我想将我的第一次尝试编译成 .exe。我遇到的问题是在成功编译后我去运行它并返回错误:

Traceback (most recent call last):
File "web2.py", line 2, in <module>
File "webapp2.pyc", line 25, in <module>
File "webob\__init__.pyc", line 1, in <module>
File "webob\datetime_utils.pyc", line 10, in <module>
ImportError: No module named email.utils

我也用 cx_Freeze 尝试过,结果相似。我遵循了 import error while bundling using py2exe 给出的建议无济于事。

如果有任何用处,这里是我的代码:

import cgi
import webapp2
import os
import socket


def ip():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('google.com', 0))
return s.getsockname()[0]

class MainPage(webapp2.RequestHandler):
def get(self):
self.response.out.write("""
<html>
<body>
<form action="/shutdown" method="link">
<div><input type="submit" value="Shutdown"></div>
</form>
</body>
</html>""")


class shutdown(webapp2.RequestHandler):
def get(self):
self.response.out.write('<html><body>Shutting down...<pre>')
self.response.out.write('</pre></body></html>')
os.system("shutdown -p -f")

app = webapp2.WSGIApplication([('/', MainPage),
('/shutdown', shutdown)],
debug=True)
def main():
from paste import httpserver
httpserver.serve(app, host=ip(), port='80')

if __name__ == '__main__':
main()

提前谢谢你。

编辑:

我发现使用 modulefinder 有很多模块没有被导入。但是,我不知道这种情况是在正常运行时发生,还是仅在导入或类似情况下发生。

http://pastebin.com/s0U9WHJ6

最佳答案

我发现问题在于我假设 py2exe 会像解释器一样导入 webob。事实上,我需要将 webob 文件夹放在我正在构建的文件夹中。

关于python - 使用py2exe构建python时导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11274596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com