ImportError:导入ironpython dll时没有名为Image的模块

ImportError:导入ironpython dll时没有名为Image的模块,dll,clr,python-imaging-library,ironpython,importerror,Dll,Clr,Python Imaging Library,Ironpython,Importerror,我有一个名为CoreCode的python包,我使用IronPython 2.7.5中的clr.CompileModules()编译了该包。这生成了一个名为CoreCode.dll的文件。然后使用clr.AddReference()将此dll导入IronPython模块。我知道dll可以工作,因为我已经成功地测试了一些类,如下所示。但是,我的问题在于基本的切片预览器类。该类使用PIL中的Image和ImageDraw来生成和保存位图文件 我知道问题不在于PIL,因为该包在Python2.7中运行

我有一个名为CoreCode的python包,我使用IronPython 2.7.5中的clr.CompileModules()编译了该包。这生成了一个名为CoreCode.dll的文件。然后使用clr.AddReference()将此dll导入IronPython模块。我知道dll可以工作,因为我已经成功地测试了一些类,如下所示。但是,我的问题在于基本的切片预览器类。该类使用PIL中的Image和ImageDraw来生成和保存位图文件

我知道问题不在于PIL,因为该包在Python2.7中运行时工作得非常好。我假设出现这个错误是因为IronPython找不到PIL,但我不确定如何解决这个问题。任何帮助都将不胜感激

创建dll的代码

import clr
clr.CompileModules("CoreCode.dll", "CoreCode\AdvancedFileHandlers\ScannerSliceWriter.py", "CoreCode\AdvancedFileHandlers\__init__.py", "CoreCode\MarcamFileHandlers\MTTExport.py", "CoreCode\MarcamFileHandlers\MTTImporter.py", "CoreCode\MarcamFileHandlers\__init__.py", "CoreCode\Visualizer\SlicePreviewMaker.py", "CoreCode\Visualizer\__init__.py", "CoreCode\Timer.py", "CoreCode\__init__.py")
Timer.py的测试

>>> import clr
>>> clr.AddReference('CoreCode.dll')
>>> from CoreCode.Timer import StopWatch
>>> stop_watch = StopWatch()
>>> print stop_watch.__str__()
0:00:00:00 0:00:00:00
>>>
MTTExport.py的测试

>>> from CoreCode.MarcamFileHandlers.MTTExport import MTT_Layer_Exporter
>>> mttlayer = MTT_Layer_Exporter()
>>> in_val = (2**20)+ (2**16) + 2
>>> bytes = mttlayer.write_lf_int(in_val, force_full_size=True)
>>> print "%s = %s" %(bytes, [hex(ord(x)) for x in bytes])
à    ◄ ☻ = ['0xe0', '0x0', '0x0', '0x0', '0x0', '0x11', '0x0', '0x2']
>>>
SlicePreviewMaker.py的测试

>>> from CoreCode.Visualizer.SlicePreviewMaker import Base_Slice_Previewer
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "CoreCode\Visualizer\SlicePreviewMaker", line 1, in <module>
ImportError: No module named Image

>>>
>>来自CoreCode.Visualizer.SlicePreviewMaker导入基片预览器
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“CoreCode\Visualizer\SlicePreviewMaker”,第1行,在
ImportError:没有名为Image的模块
>>>

SlicePreviewMaker中的导入语句是什么样子的?我猜是
导入图像
,但您是否尝试过从PIL导入图像?@MichielOvertoom此时的导入语句是这样的:
导入操作系统,图像,图像绘制,图像字体
当我尝试从PIL导入图像时,我得到
回溯(最近一次调用):文件“”,第1行,在ImportError中:没有名为PIL的模块
,但是,当我开始键入时,intellisense会在可选模块列表中显示PIL。我想这是一个与路径相关的问题。如果PIL或pillow所在的目录位于
sys.path
中,则
导入图像
将起作用。你可以试试。在我的系统上,
import Image
将不起作用,但如果我首先执行
sys.path.append(“/Library/Python/2.7/site packages/PIL”)
,它就起作用了。在您的系统上,站点包路径可能不同。您可以尝试在sys.path列表中搜索包含“site packages”的目录名,然后在其上添加“/PIL”,并将其附加到sys.path,然后再导入映像。@MichielOvertoom我已经尝试了您建议的方法,并且“映像”模块导入时没有错误,然而,在实际尝试使用它时,我遇到了一个新的错误
>>sys.path.append('C:\\Python27\\Lib\\site packages\\PIL')>>>>导入图像>>>myim=Image.new('RGB',(470470),(86,0255))回溯(最近一次调用):文件“”,在新文件的第1763行文件“C:\Python27\Lib\site packages\PIL\Image.py”中的第1行“C:\Python27\Lib\site packages\PIL\Image.py“,第37行,在uuu getattr uuuuu导入错误:未安装u imaging C模块>>>
您只有在尝试使用该模块后才收到错误,这是因为枕头使用延迟加载。真正的错误是“未安装_ImagingC模块”,IronPython可能找不到该二进制文件,因为它不在路径上或其他位置。谷歌搜索告诉我,你不是唯一一个有这个问题的人。你可能想退房,然后