Python cx_Freeze导入错误“没有模块命名人性化”
问题描述:
C:\WINDOWS\system32>py C:\Users\Lenovo\Desktop\RPGTxtGame\setup.py build
running build
running build_exe
Traceback (most recent call last):
File "C:\Users\Lenovo\Desktop\RPGTxtGame\setup.py", line 5, in <module>
cx_Freeze.setup(name = "downloads", version = "1.0", options = {"build_exe": {"packages": ["errno", "os", "re", "stat", "subprocess","collections", "pprint","shutil", "humanize","pycallgraph"], "include_files": []}}, executables = exe)
File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\cx_Freeze\dist.py", line 349, in setup
distutils.core.setup(**attrs)
File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python36-32\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python36-32\lib\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python36-32\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python36-32\lib\distutils\command\build.py", line 135, in run
self.run_command(cmd_name)
File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python36-32\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python36-32\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\cx_Freeze\dist.py", line 219, in run
freezer.Freeze()
File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\cx_Freeze\freezer.py", line 621, in Freeze
self.finder = self._GetModuleFinder()
File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\cx_Freeze\freezer.py", line 340, in _GetModuleFinder
finder.IncludePackage(name)
File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\cx_Freeze\finder.py", line 653, in IncludePackage
module = self._ImportModule(name, deferredImports)
File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\cx_Freeze\finder.py", line 350, in _ImportModule
raise ImportError("No module named %r" % name)
ImportError: No module named 'humanize'
嗨,我试图从我的python项目创建一个可执行文件。 cx_Freeze是givinig这个错误,虽然Python cx_Freeze导入错误“没有模块命名人性化”
我也试过pyinstaller但一个不与Python兼容3.6
我setup.py脚本是
import cx_Freeze
exe = [cx_Freeze.Executable("main.py")]
cx_Freeze.setup(name = "downloads", version = "1.0", options = {"build_exe": {"packages": ["errno", "os", "re", "stat", "subprocess","collections", "pprint","shutil", "humanize","pycallgraph"], "include_files": []}}, executables = exe)
你能帮助我吗?
答
这是我该怎么做的。
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["errno", "os", "re", "stat", "subprocess","collections", "pprint","shutil", "humanize","pycallgraph"]}
setup(name = "downloads",
version = "1.0",
options = {"build_exe": build_exe_options},
description = "Your description here.",
executables = [Executable("main.py")])
由于根据您的环境一个侧面说明你不应该需要明确地包括像“OS”,“重”,“shutil”或其他任何标准库模块作为cx_Freeze应该能够找到和自动导入。
还要确保你的“人性化”包是在你的“main.py”脚本中导入的。
+0
好吧,所以我安装了它所要求的所有软件包,人性化之后我最终也安装了pycallgraph。现在它说没有这样的文件/目录'main.py'。虽然setup.py和main.py在同一个文件夹中 –
你有一个名为模块人文化? –
不,我没有导入它,但我也没有导入setup.exe –
中说明的其他包我猜你可能必须首先安装人性化。你可能已经有其他的软件包了。 –