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

2024-05-16 02:33:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在试着调试这个示例代码,但遇到了问题。

代码如下:

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。

从那里我得到Iron Python_module.dll,因为我已经安装了ironpython,我没有得到这个.dll?

有什么想法吗?


Tags: fromimportselfsizegetwindowsdefforms
3条回答

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

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

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

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

尝试添加代码:

import sys

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

这段代码对我有效并解决了错误

在python脚本中,需要显式导入os.py的lib路径

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

相关问题 更多 >