编程语言
首页 > 编程语言> > python – Py2Exe“缺少模块”

python – Py2Exe“缺少模块”

作者:互联网

我正在尝试使用Py2Exe将我的python项目转换为exe.值得注意的是,cx_freeze抱怨同样的三个“缺失的模块”以及其他几十个.问题是,没有人知道如何解决这个问题.

我正在使用MS Windows XP 32位(VirtualBox).

C:\Documents and Settings\Jason\Desktop\redstring2>python setup.py py2exe
running py2exe
running build_py
creating build
creating build\lib
copying redstring.py -> build\lib

  3 missing Modules
  ------------------
? readline                            imported from cmd, code, pdb
? win32api                            imported from platform
? win32con                            imported from platform
Building shared code archive 'dist\library.zip'.
Copy c:\windows\system32\python34.dll to dist
Copy C:\Python34\DLLs\select.pyd to dist\select.pyd
Copy C:\Python34\DLLs\_ssl.pyd to dist\_ssl.pyd
Copy C:\Python34\DLLs\_ctypes.pyd to dist\_ctypes.pyd
Copy C:\Python34\DLLs\_lzma.pyd to dist\_lzma.pyd
Copy C:\Python34\DLLs\_hashlib.pyd to dist\_hashlib.pyd
Copy C:\Python34\DLLs\pyexpat.pyd to dist\pyexpat.pyd
Copy C:\Python34\DLLs\_socket.pyd to dist\_socket.pyd
Copy C:\Python34\DLLs\_bz2.pyd to dist\_bz2.pyd
Copy C:\Python34\DLLs\unicodedata.pyd to dist\unicodedata.pyd

我的setup.py如下.

#!/usr/bin/python python

from setuptools import setup
import py2exe

setup(name="Redstring",
    version="2.0",
    description="REDundant STRING generator",
    author="MousePaw Labs",
    url="http://www.mousepawgames.com/",
    author_email="info@mousepawgames.com",
    data_files=[("", ["redstring.png", "redstring_interface.glade"])],
    py_modules=["redstring"],
    )

这是一个使用GTK 3(内置Glade)的Python 3.4项目.它在Ubuntu和python redstring.py上运行只是peachy,但是我无法将其编译成.exe.

到目前为止,我尝试了导入平台,从平台导入win32api,以及redstring.py和setup.py中的所有内容,以及通过安装文件中的py2exe选项导入平台.

解决方法:

win32api和win32con是Mark Hammond的Python Windows扩展(又名pywin32)的一部分. readline是一些与控制台交互的代码使用(如果存在)的模块.

readline和pywin32都是可选的模块/包,不是绝对必需的,但会在使用时使用.

总而言之 – py2exe注意到这些模块/包被一些代码引用,这些代码将包含在你的exe中(它甚至提到了引用这些mod /包的模块:cmd,code,pdb,platform).
我希望你已经测试了你的脚本 – 以’非编译’形式,如果它正常工作,你可以安全地忽略这些消息:它们只是警告.

没有构建可执行文件的原因是setup()调用中缺少’console = [“redstring”]’或’windows = [“redstring”]’.

标签:py2exe,python,python-3-x,gtk
来源: https://codeday.me/bug/20190929/1831239.html