显示异常的Python程序

显示异常的Python程序,python,step,Python,Step,我想用python运行下面的程序 from __future__ import print_function import sys from OCC.STEPControl import STEPControl_Reader from OCC.IFSelect import IFSelect_RetDone, IFSelect_ItemsByEntity from OCC.

我想用python运行下面的程序

            from __future__ import print_function

            import sys

            from OCC.STEPControl import STEPControl_Reader
            from OCC.IFSelect import IFSelect_RetDone, IFSelect_ItemsByEntity
            from OCC.Display.SimpleGui import init_display
            from OCC.Display.WebGl import threejs_renderer
            from OCC.STEPCAFControl import STEPCAFControl_Reader

            step_reader = STEPControl_Reader()
            status = step_reader.ReadFile('./models/part_ARROWS_ASM.stp')

            if status == IFSelect_RetDone:  # check status
                failsonly = False
                step_reader.PrintCheckLoad(failsonly, IFSelect_ItemsByEntity)
                step_reader.PrintCheckTransfer(failsonly, IFSelect_ItemsByEntity)

                ok = step_reader.TransferRoot(1)
                _nbs = step_reader.NbShapes()
                aResShape = step_reader.Shape(1)
            else:
                print("Error: can't read file.")
                sys.exit(0)
            #display, start_display, add_menu, add_function_to_menu = init_display()
            #display.DisplayShape(aResShape, update=True)
            #start_display()

            my_renderer = threejs_renderer.ThreejsRenderer(background_color="#123345")
            my_renderer.DisplayShape(aResShape)
在没有OCC.STEPCAF控制模块的情况下,其运行成功。运行上述程序后,在eeror下方发现此问题

            Traceback (most recent call last):
              File "D:\software\python\pythonocc-core-master\examples\core_load_step_ap203.py", line 26, in <module>
                from OCC.STEPCAFControl import STEPCAFControl_Reader
            ImportError: No module named 'OCC.STEPCAFControl'
回溯(最近一次呼叫最后一次):
文件“D:\software\python\pythonocc core master\examples\core\u load\u step\u ap203.py”,第26行,在
从OCC.STEPCAFControl导入STEPCAFControl\u读卡器
导入错误:没有名为“OCC.STEPCAFControl”的模块
收到此错误后,将OCC.STEPCAF粘贴到OCC文件夹中控制此模块,此问题已解决,但显示另一个异常,如下所述

            Traceback (most recent call last):
              File "D:\software\python\pythonocc-core-master\examples\core_load_step_ap203.py", line 26, in <module>
                from OCC.STEPCAFControl import STEPCAFControl_Reader
              File "C:\Python34\lib\site-packages\OCC\STEPCAFControl.py", line 28, in <module>
                _STEPCAFControl = swig_import_helper()
              File "C:\Python34\lib\site-packages\OCC\STEPCAFControl.py", line 24, in swig_import_helper
                _mod = imp.load_module('_STEPCAFControl', fp, pathname, description)
              File "C:\Python34\lib\imp.py", line 243, in load_module
                return load_dynamic(name, filename, file)
            ImportError: DLL load failed: The specified module could not be found.
回溯(最近一次呼叫最后一次):
文件“D:\software\python\pythonocc core master\examples\core\u load\u step\u ap203.py”,第26行,在
从OCC.STEPCAFControl导入STEPCAFControl\u读卡器
文件“C:\Python34\lib\site packages\OCC\STEPCAFControl.py”,第28行,在
_STEPCAFControl=swig\u import\u helper()
文件“C:\Python34\lib\site packages\OCC\STEPCAFControl.py”,第24行,在swig\u import\u helper中
_mod=imp.load_模块(“步进控制”,fp,路径名,描述)
文件“C:\Python34\lib\imp.py”,第243行,在加载模块中
返回加载动态(名称、文件名、文件)
ImportError:DLL加载失败:找不到指定的模块。

如何解决这个问题?有什么建议吗?

对于windows上的scientific python,最好的选择是安装WinPython、python(x,y)、Enthound python或Anaconda,而不是手动安装所有内容。其中任何一个都将安装您可能需要的大多数软件包,并且应该正确配置它们。

python模块可能正在尝试加载一个名为_STEPCAFControl.pyd的DLL
(我在猜测分机)。如果您有一个同名的STEPCAFControl.dll,您可以将其重命名为_STEPCAFControl.pyd,它可能会工作。如果名称不正确,则需要查看STEPCAFControl.py文件,并找到.DLL文件名。

Thanx以获得答复。我在OCC文件夹中有这个文件_STEPCAFControl.pyd。我检查了这个STEPCAFControl.py文件,但它不包含任何扩展名为.DLL的文件名。这是您需要的文件,但它必须位于正确的位置,以便DLL加载程序找到它。与其对此进行故障排除并立即遇到下一个问题,更好的方法是正确安装所需的组件。@tripleee基本上我已经安装了包含OCC文件的PythonOCC0.16.exe文件。它安装了乘员温度控制模块,但某些模块缺失,如STEPCAFControl.py缺失。所以我不知道如何解决这个问题?也有可能这个.pyd文件(实际上是一个dll)是用不同版本的python编译的,在尝试加载它时没有链接。您需要与提供此文件的人进行检查,以查看需要哪种python。已安装WinPython,但仍然显示相同的问题。