在IDL中调用自定义Python Module

来源:互联网 发布:python pyqt5下载 编辑:程序博客网 时间:2024/05/23 21:56

IDL中调用自定义PythonModule

要在IDL8.3中调用自定义的Python Module以实现在IDL中不方便完成的任务。如使用一些开发包,但是这个开发包并不支持IDL,毕竟使用IDL的人数还是相对较少的。因此,混合编程是一个解决之道。下面介绍在IDL32位,下面的介绍都只是针对32位的IDL8.3)中调用自定义的PythonModule的操作步骤。

1)  下载SlitherThe IDL toPython Bridge)。下载地址http://research.jacquette.com/slithertm-product-information/。目前支持Python26/27/33版本。

2)  解压Slither,选择对应的Python文件家中的dlldlm文件,将其复制到IDL的安装路径下。----Exelis\IDL83\bin\bin.x86。即可完成Slither的安装。

3)  打开IDL8.3,如果Python中安装好了numpy。即可进行初步的测试。测试代码如下:

IDL>rand=pyimport("random")

IDL>rand.randint(0,5)

4)  完成Slither的安装之后,现在开始编写自定义的Python Module。选择一个目录建立一个文件夹。分别在文件夹中建立两个.py文件。一个为setup.py,另一个根据需要取名,本文以CloneSVM.py为例。

5)  Setup.py文件中的代码如图1所示。其中name值和py_modules值必须和自己的py文件的名称相同。

                             

1 setup.py文件代码

6)  CloneSVM.py才是真正的自定义PythonModule。其代码如下图2所示:

 

2 Module代码

7)  确定自己的代码无误后,运行setup.py。在cmd命令窗口中先后输入以下命令。

Python setup.py sdist

Python setup.py install

至此,便完成了自定义的Module的发布和安装。如图3中绿框所示:

 

8)如同第3步一样,采用pyimport导入自己的模块。至此,便可在IDL中调用Python module了。

0 0
原创粉丝点击