IronPython无法导入os模块。

4

我有一个基本的压缩过的IronPython(2.6或2.6.1),我只需要解压缩,启动ipy.exe,输入“import os”,然后按回车键。

下面是输出:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named os

即使我先导入了clr,它也无法正常工作。应该怎么办?
我已经在谷歌上搜索了这个问题,但没有找到相关的答案。最接近的想法是这个(但它没有起作用):
import clr
clr.AddReference("IronPython")
clr.AddReference("IronPython.Modules")
import os

解压后,Libs目录的结构是否仍然完整?这是必须的,以便它能找到所有系统库。 - AutomatedTester
它与CPython相比要小得多,而且与zip文件中的内容完全一致。 - lj8888
2个回答

5
很可能问题不在于zip文件,而是os模块的位置。
你需要安装CPython,并且你的脚本应该能够访问到CPython Lib目录。为了实现这一点,你可以将所有必要的os文件复制到你的Lib目录下,或者你可以设置环境变量IRONPYTHONPATH来指向CPython中的Lib目录。

但是这样做会不会与运行时发生冲突?如果Lib中安装的任何Python库具有C或C++模块呢? - lj8888
嗯...我不确定,但如果某些模块依赖于C或C ++,可能无法正常工作... - digEmAll
这对我有用。在OSX上,我执行了export IRONPYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ - tdc

1

这一定会有所帮助:

import sys
sys.path.append("C:\\PythonXY\\Lib")

2
尝试添加更多关于为什么这会有帮助的内容。 - davehale23

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接