C# 没有名为fcntl的模块

C# 没有名为fcntl的模块,c#,module,compiler-errors,ironpython,fcntl,C#,Module,Compiler Errors,Ironpython,Fcntl,我正在尝试使用IronPython 2.7在.NET4.0上使用IronPython执行此方法。我正在使用Windows7 import os import re import nltk import urllib import xapian import sys def getData(url): try: html = urllib.urlopen(url) text = html.read() html.close()

我正在尝试使用IronPython 2.7在.NET4.0上使用IronPython执行此方法。我正在使用Windows7

import os
import re
import nltk
import urllib
import xapian
import sys

def getData(url):
        try:
         html = urllib.urlopen(url)
         text = html.read()
         html.close()
        except:
            return "error"
        try:
            return nltk.clean_html(text) #takes the tokens
        except:
            return text
C#代码:


有人能告诉我我做错了什么吗?我一直认为我没有fcntl模块(平台:Unix),因此您可能运气不好,可能(或可能没有)有帮助……

我认为到目前为止,您最简单的解决方案是切换到CPython。我不认为它的集成度会比您现有的解决方案低,而且您可以避免丢失模块带来的所有麻烦。

当我遇到这个问题时,问题是我在搜索路径中只有我的CPython libs(我以前在CPython中安装了NLTK),而没有IronPython libs

在我的C代码中,我现在有了

 engine.SetSearchPaths(new string[] {"C:\\Program Files\\IronPython 2.7\\Lib"
                                    ,"C:\\Python27\\Lib"
                                    ,"C:\\Python27\\Lib\\site-packages"
                                    });
当我对这个问题摸不着头脑时,我注意到我无意中输入了2.7.1作为我的IronPython路径,即一个不存在的目录。哦,我刚刚注意到OP在他们的源代码中有一个类似的搜索路径条目,也许也可以是搜索路径的顺序


对于处于类似位置的人来说,有用的线索:我注意到我的NLTK使用代码在从ipy.exe加载时工作得很好,因此不存在可移植性问题…(并且NLTK源代码在任何地方都不包含字符串fcntl)

遇到了完全相同的问题,在我按如下方式订购导入和sys.path.append之前,一切都不起作用:

sys.path.append(“C:\\Program Files\\IronPython 2.7\\Lib”)
sys.path.append(“C:\\Program Files\\IronPython 2.7\\Lib\\site包”)
sys.path.append(“C:\\Python27\\Lib”)

sys.path.append(“C:\\Python27\\Lib\\site包”)

是的,我也这么想。你能指出fcntl将在哪里使用吗?因为当我使用Python26执行这个方法时,它工作得很好,当你说Python26时,你是指CPython吗?我不确定。我用空闲的GUI Python 2.6编译了它。我有点困惑,因为我一直试图删除代码的几个部分,以查看fcntl信号是如何发出的,但我运气不好。我检查了它,nltk给出了fcntl信号。。所以如果我在windows操作系统上,我就不能使用它了?
 engine.SetSearchPaths(new string[] {"C:\\Program Files\\IronPython 2.7\\Lib"
                                    ,"C:\\Python27\\Lib"
                                    ,"C:\\Python27\\Lib\\site-packages"
                                    });
import sys
sys.path.append("X:\Python27x64")
sys.path.append("X:\Python27x64\DLLs")
sys.path.append("X:\Python27x64\Lib")
sys.path.append("X:\Python27x64\Lib\site-packages")
sys.platform = "win32"
import nltk