gpt4 book ai didi

c# - 如何配置 IronPython.StdLib 2.7.3

转载 作者:行者123 更新时间:2023-11-30 22:21:01 26 4
gpt4 key购买 nike

我无法使 StdLib 的编译版本正常工作。

我创建了一个空的 visual studio 项目(称为 StdLib)并使用加载了最新 (v2.7.3)IronPython.StdLib 的 NUGET,它在我的项目中创建了一个包含所有 .py 脚本的 Lib 文件夹。这些文件的构建操作默认设置为“内容”,但尝试使用该设置和“嵌入式资源”进行编译。

在我的 py 脚本中我有:

import clr
clr.AddReference("StdLib")

import os

它找到程序集但抛出“未找到 os 模块”错误。

如果我将标准库文件打包为构建文件夹中的松散文件并执行以下操作,它就可以工作。

var runtime = Python.CreateRuntime();

var engine = Python.GetEngine(runtime);
engine.SetSearchPaths(new string[] { Path.GetDirectoryName(
Assembly.GetExecutingAssembly().Location) + @"\Lib" });

////load the script
dynamic script = runtime.UseFile(ParserScriptPath);

//execute the script
var result = script.main("result");

我的问题是

  1. 能否通过 Visual Studio 将标准库编译成 .Net 程序集?

  2. 如果是这样,对于 Lib 文件夹中的 .py 代码文件,构建操作应该是什么?

  3. 那么在尝试导入标准库模块时引用程序集的正确方法是什么才不会失败?

我已查看以下帖子:IronPython: EXE compiled using pyc.py cannot import module "os"

但实际上并没有安装 IronPython,也不太确定这是否是解决问题的方法。我使用 NUGET 将 IronPython 和 IronPython.StdLib 直接添加到我的项目中。我假设因为我可以通过 NUGET 将 IronPython.StdLib 直接添加到我的项目中,所以我可以编译它并引用它。

最佳答案

不,您将无法通过 Visual Studio 编译它(目前)。如果你愿意,你必须 download IronPython并使用 pyc.py 从命令行执行此操作。

最终我会得到预压缩和预编译版本的 stdlib 的 NuGet 包,但我还没有得到它。

关于c# - 如何配置 IronPython.StdLib 2.7.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14649994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com