首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python - cx_Freeze ImportError

python - cx_Freeze ImportError
EN

Stack Overflow用户
提问于 2018-11-29 05:49:04
回答 1查看 261关注 0票数 0

我正在使用cx_Freeze将我的游戏转换成可执行文件,并且我总是收到这个错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "setup.py", line 15, in <module>
    executables=[Executable('racecar.py')])
  File "C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python3732\lib\site-packages\cx_Freeze\dist.py", line 349, in setup
    distutils.core.setup(**attrs)
  File "C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python37-32\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python37-32\lib\distutils\dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python37-32\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python37-32\lib\distutils\command\build.py", line 135, in run
    self.run_command(cmd_name)
  File "C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python37-32\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python37-32\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python37-32\lib\site-packages\cx_Freeze\dist.py", line 219, in run
    freezer.Freeze()
  File "C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python37-32\lib\site-packages\cx_Freeze\freezer.py", line 624, in Freeze
    self.finder = self._GetModuleFinder()
  File "C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python37-32\lib\site-packages\cx_Freeze\freezer.py", line 347, in _GetModuleFinder
    finder.IncludePackage(name)
  File "C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python37-32\lib\site-packages\cx_Freeze\finder.py", line 659, in IncludePackage
    module = self._ImportModule(name, deferredImports)
  File "C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python37-32\lib\site-packages\cx_Freeze\finder.py", line 351, in _ImportModule
    raise ImportError("No module named %r" % name)
ImportError: No module named 'Pillow'

这是我的setup.py:

代码语言:javascript
复制
from cx_Freeze import setup, Executable
import os

os.environ['TCL_LIBRARY'] = r'C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python37-32\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Users\Shaunak.Warty22\AppData\Local\Programs\Python\Python37-32\tcl\tk8.6'

options = {'packages':['pygame', 'Pillow'],
       'include_files':['Lobster-Regular.ttf', 'NosiferCaps-Regular.ttf', 'racecar.png']}

setup(
    name = 'Racecar Dodge',
    version = 0.1,
    description = 'Use your racecar to dodge obstacles and try to get as many blocks dodged as possible!',
    options={'build_exe': options},
    executables=[Executable('racecar.py')])

我在我的电脑上安装了Pillow,而且我在setup.py中安装了它,所以我搞不清为什么会出现这个错误。

EN

回答 1

Stack Overflow用户

发布于 2018-11-29 16:18:20

你将'Pillow‘作为一个包列在'options’中,导致cx_freeze尝试导入'Pillow‘-但是,这应该是'PIL’,因为这是模块的名称。“‘Pillow”只是包裹的人名。

options = {'packages':['pygame', 'PIL'],

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53528640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档