c# - 是否可以在 Windows 窗体应用程序中将 psycopg2 与 IronPython 一起使用?

标签 c# python .net ironpython psycopg2

我构建了一个 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/

相关文章:

c# - 更改 System.Uri 的端口

c# - 通过 OpenXML SDK 插入时如何保持当前样式?

python - 如何将嵌套列表作为输入?

python - FFT减法-OpenCV

python - 累积一个orderedDict

c# - 一个 C# 异常可以在不同线程上多次引发吗?

.net - 如何在 VB.NET 中获取 Caps Lock 的当前状态?

c# - 更改动态组合框中组合框项的文本样式

c# - 如何在不使用 Skype API 的情况下读取所有 Skype 联系人和消息?

mysql - Vb.net Mysql 一份数据中多次查询