运行包抛出 ImportError: No module named image

Posted

技术标签:

【中文标题】运行包抛出 ImportError: No module named image【英文标题】:running package throws ImportError: No module named image 【发布时间】:2012-09-27 06:50:58 【问题描述】:

在 ubuntu 12.04 下使用cx_freeze。包的生成是 完成时没有任何错误,但是当我尝试将包作为 独立,我收到以下错误:

    Traceback (most recent call last):
    File "/usr/local/lib/python2.7/dist-packages/cx_Freeze/initscripts /Console.py",
    line 27, in <module>
    exec code in m.__dict__
     m m   File "Setup_cx_freeze.py", line 3, in <module>
     File "/usr/local/lib/python2.7/dist-packages/cx_Freeze/__init__.py",
     line 4, in <module>
     from cx_Freeze.dist import *
     File "/usr/local/lib/python2.7/dist-packages/cx_Freeze/dist.py",
     line 3, in <module>
     import distutils.command.install
      File "/usr/lib/python2.7/distutils/command/install.py", line 21,   in          <module>
      from site import USER_BASE
      File "/usr/lib/python2.7/site.py", line 562, in <module>
      main()
      File "/usr/lib/python2.7/site.py", line 540, in main
      abs__file__()
      File "/usr/lib/python2.7/site.py", line 100, in abs__file__
     m.__file__ = os.path.abspath(m.__file__)
     File "/usr/lib/python2.7/email/__init__.py", line 79, in __getattr__
      __import__(self.__name__)
      ImportError: No module named image

我认为重点是最后一句话。 "ImportError: No module named image."

应用程序在纯python环境下运行没有任何问题 那么,为什么在将其作为“冻结”包运行时会出现错误?这 生成冻结包时以某种方式引入了错误。

【问题讨论】:

我自己也遇到了这个错误。你解决了吗? 你修过这个吗? 【参考方案1】:

我最终通过在 setup.py 脚本构建 exe 选项中明确包含包“email.mime”来解决此问题。

【讨论】:

email 放入packages 列表中也应该有效。由于它使用动态导入,cx_Freeze 不会自动检测正在使用的模块,因此需要明确告诉它复制它们。 @ThomasK 有趣的是,我遇到了同样的问题,而且我的软件中没有使用电子邮件库的任何内容。我将 email.mime 添加到我的包中,但没有什么可以使它工作。【参考方案2】:

缺少“图像”只是问题的第一部分。尝试将此添加到您的代码中:

from email.mime.image import MIMEImage
from email.mime.audio import MIMEAudio
from email.mime.message import MIMEMessage

这解决了“图像”、“音频”和“消息”的问题。

【讨论】:

【参考方案3】:

通过安装 Python Imaging Library 解决了这个问题:http://www.pythonware.com/products/pil/

1)python setup.py build

2)sudo python setup.py install

【讨论】:

你确定你不是在谈论模块“图像”而不是“图像”吗?? 不,我不确定。那是一年多以前的事了,从那以后我就再也没有接触过 Python。

以上是关于运行包抛出 ImportError: No module named image的主要内容,如果未能解决你的问题,请参考以下文章

Django + mod_wsgi + apache:ImportError at / No module named djproj.urls

Django 问题:django.setup() 抛出“ImportError: No module named 'project_name'”

python27 ImportError: No module named site

Flutter Firebase cloud_functions 包抛出错误:内部

ImportError: No module named django.core.handlers.wsgi in install django mod_wsgi config on apache

PySpark 抛出 ImportError,但 Module 确实存在并且运行良好