uol*_*lot 17 python import ironpython
我目前正在研究用C#编写的应用程序,我正在将IronPython嵌入其中.我通常没有任何问题,但有一件事我不知道如何处理.
我想将外部模块导入脚本.我怎样才能做到这一点?简单import ext_lib
不起作用.我应该添加lib的路径sys.path
吗?也许有可能将lib的.py文件复制到app目录并从那里导入?
编辑:
我最终选择了另一个解决方案 - 编译我的脚本,py2exe
我只是从主C#app运行它Process
(不使用IronPython).
无论如何,谢谢你的帮助;)
Roh*_*hit 23
在使用PythonEngine编译脚本之前,我将脚本的目录添加到引擎的搜索路径中.这就是我在C#代码中所做的:
string dir = Path.GetDirectoryName(scriptPath);
ICollection<string> paths = engine.GetSearchPaths();
if (!String.IsNullOrWhitespace(dir))
{
paths.Add(dir);
}
else
{
paths.Add(Environment.CurrentDirectory);
}
engine.SetSearchPaths(paths);
Run Code Online (Sandbox Code Playgroud)
现在,如果库位于您正在执行的脚本所在的目录中,则它们将是可导入的.
Mar*_*off 10
您的路径设置不正确.来自IronPython FAQ:
我如何使用CPython标准库?
要告诉IronPython Python标准库的位置,可以将CPython的"lib"目录添加到IronPython的路径中.为此,请将以下代码放入IronPython的"site.py"文件中(将c:\ python24\lib替换为CPython lib目录的实际路径):
Run Code Online (Sandbox Code Playgroud)import sys sys.path.append(r"c:\python24\lib")
另外,如果你要导入错误在CPython中为您的脚本做在您的计算机上的99%的时间它是一个路径问题有太多.
归档时间: |
|
查看次数: |
27961 次 |
最近记录: |