使用c#运行python脚本

本文关键字:脚本 python 运行 使用 | 更新日期: 2023-09-27 17:49:42

我已经编写了以下代码,当我使用c#运行python脚本时,我没有获得名为fcntl的模块

print "hi how are you"
import nltk
a="hi how are you"
tokens=nltk.word_tokenize(a)
print tokens

使用c#运行python脚本

可能NLTK依赖于subprocess模块,这在嵌入式IronPython中不支持。关于这个问题已经有了一些答案:

  • "没有名为fcntl"当py脚本在c#中运行但在windows命令行中工作时
  • 没有名为fcntl的模块

sys.path

也检查你的sys.path。嵌入式引擎可能没有自动设置。您可以这样设置库路径:

engine.SetSearchPaths(
    new string[]
    {
        "C:''Program Files''IronPython 2.7",
        "C:''Program Files''IronPython 2.7''Lib",
        "C:''Program Files''IronPython 2.7''Lib''site-packages",
    }
);

sys.platform

任何依赖fcntl的模块,只有在sys.platform == 'posix'时才决定导入它。在python代码中调试它的实际值,并尝试将其强制设置为"win32"(在任何其他导入之前)

import sys
sys.platform = "win32"