Iron Python - 没有名为“os”的模块

时间:2011-06-17 04:21:11

标签: .net python ironpython

我一直在尝试调试此示例代码,但我遇到了麻烦。

以下是代码:

import System
import get_events_devices
from System.Windows.Forms import *
from System.ComponentModel import *
from System.Drawing import *
from clr import *
clr.AddReference("IronPython") 

class Check: # namespace

    class Form1(System.Windows.Forms.Form):
        """type(_label1) == System.Windows.Forms.Label, type(_button1) == System.Windows.Forms.Button"""
        __slots__ = ['_label1', '_button1']
        def __init__(self):

            self.InitializeComponent()

        @accepts(Self(), bool)
        @returns(None)
        def Dispose(self, disposing):

            super(type(self), self).Dispose(disposing)

        @returns(None)
        def InitializeComponent(self):
            self._button1 = System.Windows.Forms.Button()
            self._label1 = System.Windows.Forms.Label()
            self.SuspendLayout()
            # 
            # button1
            # 
            self._button1.Location = System.Drawing.Point(58, 61)
            self._button1.Name = 'button1'
            self._button1.Size = System.Drawing.Size(75, 23)
            self._button1.TabIndex = 0
            self._button1.Text = 'Click'
            self._button1.UseVisualStyleBackColor = True
            self._button1.Click += self._button1_Click
            # 
            # label1
            # 
            self._label1.AutoSize = True
            self._label1.Location = System.Drawing.Point(190, 70)
            self._label1.Name = 'label1'
            self._label1.Size = System.Drawing.Size(0, 13)
            self._label1.TabIndex = 1
            # 
            # Form1
            # 
            self.ClientSize = System.Drawing.Size(292, 273)
            self.Controls.Add(self._label1)
            self.Controls.Add(self._button1)
            self.Name = 'Form1'
            self.Text = 'Form1'
            self.ResumeLayout(False)
            self.PerformLayout()

        @accepts(Self(), System.Object, System.EventArgs)
        @returns(None)
        def _button1_Click(self, sender, e):

            # Snippet Statement
            pass
            # End Snippet Statement
            self._label1.Text = 'mohsin'
            get_events_devices.units()

我刚刚添加了optparse.py,get_events_devices.py和iron python.dll。

我从哪里得到ironpython_module.dll,因为我已经安装了Iron Python,我没有得到这个.dll?

有什么想法吗?

3 个答案:

答案 0 :(得分:4)

如果您使用Visual Studio通过IronPython工具运行和调试Python代码,可能是您的sys.path不包含对所有IronPython模块的引用,例如os。< / p>

在您的代码中,尝试添加以下内容以指示IronPython的安装目录:

import sys
sys.path.append(r"C:\Program Files\IronPython 2.7\Lib")

以上是this reported bug的解决方法。

答案 1 :(得分:2)

在python脚本中,您需要显式导入os.py

的lib路径
import sys
sys.path.append("C:\\Program Files (x86)\\IronPython 2.7\\Lib\\")

答案 2 :(得分:0)

尝试添加代码:

import sys

sys.path.append("c:\python27\lib")

此代码对我有用,并解决了错误