显示异常的Python程序
我想用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.
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,但仍然显示相同的问题。