我构建了一个 Windows 窗体来收集有关项目的信息。然后该信息被上传到数据库。
实际上,我使用 Python 脚本来执行此操作(因此,所需信息由用户硬编码在脚本中)。
我想使用我的 WindowsForm 为我的脚本设置变量。我收到 IronPython 运行时异常:cannot import _psycopg from psycopg2
这是设置变量并运行脚本的代码:
private void btn_uploaddata_Click(object sender, EventArgs e)
{
var engine = Python.CreateEngine();
var scope = engine.CreateScope();
engine.SetSearchPaths(new Collection<string>(new[]
{
@"C:\Python27_XY",
@"C:\Python27_XY\DLLs",
@"C:\Python27_XY\Lib",
@"C:\Python27_XY\Lib\site-packages",
}));
scope.SetVariable("project_num", tb_projnum.Text);
scope.SetVariable("project_name", tb_projname.Text);
scope.SetVariable("proj_client", tb_projclient.Text);
engine.ExecuteFile(@"path/to/script.py", scope);
}
是否只能将 psycopg2 与 IronPython 一起使用?
最佳答案
psycopg2 模块使用 CPython 扩展,因此无法与 IronPython 一起使用。有一个实验ctypes version作者不再支持。
无论如何,您都需要安装相应的软件包。你真的尝试过吗?
ipy.exe -X:Frames -m pip psycopg2
如果未找到 pip,您必须先确保 pip。
ipy.exe -X:Frames -m ensurepip
关于c# - 是否可以在 Windows 窗体应用程序中将 psycopg2 与 IronPython 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37953926/