问题标签 [pythonnet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
37647 浏览

c# - 如何在 Windows 上安装 Python for .NET

我为 .NET 下载了 Python
zip 中包含clr.pydnPython.exePython.Runtime.dll2 个调试数据库文件。
我将 clr.pyd 和 Python.Runtime.dll 放在我的 python DLL 目录 C:\Python27\DLLs 中,认为这就是安装所需的全部内容。然后我打开 Python GUI 并输入 import clr ,我得到:

python 新手,但不是 .NET,想要使用 CPython 而不是 IronPython。我在这个安装中缺少什么?Python for .NET的自述文件说有一个 Windows 包的安装,但我发现的只是 zip 文件。

0 投票
0 回答
1122 浏览

c# - 使用 pythonnet 传递和检索对象

怎么做,通常使用 pythonnet 传递和返回对象。例如,如果我要返回一个数字,这很好用:

我在哪里导入一个包,它作为一个名为'pythonfile'的文件

这使用 pythonfile.GetPPMError() 方法返回一个数字

我该怎么做呢:

其中 GetPeak 是“pythonfile.py”中的一个 python 方法,p 是一个类,例如:

然后可以将其转换为 C# 对象?

0 投票
0 回答
2050 浏览

python - Anaconda 安装 pythonnet

当我尝试在 Anaconda 中安装 pythonnet 时,有人可以帮我解决我遇到的错误。在网站上说我只需要输入conda install -c pythonnet pythonnet或通过 pippip install -i https://pypi.anaconda.org/pythonnet/simple pythonnet并且两者都不起作用。当我尝试使用 anaconda 进行操作时,它会说PackageNotFoundError: Packages missing in current channels: - pythonnet,而当我使用 pip 进行操作时,它会说failed with error code 1. 这不是我第一次在 anaconda 中安装 packeges,通常它总是有效的。

0 投票
1 回答
4028 浏览

c# - Python3.6内调用C#代码

在完全不了解 C# 编码的情况下,我希望在我的 python 代码中调用 C# 函数。我知道围绕同一个问题有很多问答,但出于某种奇怪的原因,我无法从示例 python 模块中导入简单的 c# 类库。

以下是我所做的 -

C# 类库设置

我正在使用 VS 2017 CE。

TestClassLibrary我在类型下创建一个新项目ClassLibrary(.NET Standard)

项目内的类如下——

我的类.cs

这已成功构建,将.dll目录下的文件生\bin\Debug\netstandard2.0成为TestClassLibrary.dll

现在,我切换到 python3.6(在 virtualenv 上运行,支持 pythonnet 2.3.0)

主文件

当我运行python main.py时,代码失败并出现错误 -

代码应该是 -

我得到 -

但是当我运行下面的代码时,代码按预期运行 -

我不知道我可能会错过什么:(

0 投票
0 回答
155 浏览

python - 嵌入式 Python 解释器+CLR:第二次运行时找不到模块?

所以我有一个带有嵌入式 Python 解释器的应用程序。

我们从 Py_Initialize 开始,当脚本运行时,我们使用 Py_NewInterpreter 生成一个新的解释器。

我们执行下面的脚本以使用一些 3rd 方 API,它可以很好地导入我们提供的 Keysight.DigitalTestApps.Framework.Remote.dll。

我们可以使用 API 并且一切正常。

在不杀死解释器或其他任何东西的情况下,我们第二次运行脚本时会出现错误

我有点茫然,为什么我们使用的所有其他 python 库和外部库都没有这个问题,但是一旦我们包含这个库,它就会有这个问题。

如果我删除该 dll 的使用,我可以根据需要多次运行我们的脚本,而不会出现任何问题。

0 投票
1 回答
708 浏览

python - 如何让 readthedocs.org 构建忽略我的 requirements.txt?

我在 github 上有一个小型应用程序项目,它在 Windows 上运行并且需要pythonnet.

我的requirement.txt包含:

现在我想我会为它建立一个文档并将它放在readthedocs.org. 将我的文档推送到 github,在 上导入我的项目后readthedocs.org,我尝试构建文档,但此操作失败,原因如下:

我知道构建失败是因为它试图安装 .Net 材料,即pythonnet在 Unix 环境中,但我只想用 Sphinx 构建文档!

我禁用了 venv 选项:

使用 setup.py install 在 vi​​rtualenv 中安装您的项目

但是我如何告诉 readthedocs 的构建过程忽略我的requirement.txt

0 投票
0 回答
591 浏览

python - pythonnet 不工作,也没有显示错误

我正在尝试使用 pythonnet 从 .Net 应用程序运行 python 脚本,我在 git hub 上安装了 pip、python 和项目,还完成了 https://github.com/pythonnet/pythonnet/上提到的所有安装步骤wiki/Installation和https://github.com/pythonnet/pythonnet/wiki/Troubleshooting-on-Windows,-Linux,-and-OSX 上的故障排除步骤

当我创建一个 Windows 应用程序来运行 python 脚本时,项目已成功构建,但是当我单击按钮执行 python 脚本时,应用程序将退出并显示以下输出:

程序“[30236] WindowsFormsApplication1.vshost.exe:程序跟踪”已退出,代码为 0 (0x0)。程序“[30236] WindowsFormsApplication1.vshost.exe”已退出,代码为 1 (0x1)。

我用来执行python文件的代码:

当我试图检查项目到底在哪里停止时,它在 Python.RunTime 项目 => runtime.cs =? 初始化()。

PS:我使用 pythonnet 因为我使用的是 python 3.X 而 IronPython 不支持这个版本。

我必须执行其他故障排除步骤吗?或者我应该添加更多参考?

0 投票
0 回答
1466 浏览

c# - 当 python 代码包含 numpy 时,将 Python 代码集成到 C# 应用程序中

我目前正在开发一个应用程序,它主要基于.NET但需要集成一些基于数学的代码,这些代码Python3包含许多对numpy,scipypandas包的引用。

我已经读过IronPython不支持这些包并且pythonnet不能嵌入到C#应用程序中以从 .net 使用.....

python 函数需要从 c# 应用程序接收类型字典、列表和用户定义类的参数,然后返回可由 c# 代码解释的字典。

有没有办法以当前格式集成这两个代码库或维护python代码是否需要重新编写成另一种语言的功能?

0 投票
0 回答
455 浏览

python - 在 WinForm pythonnet 上添加 UserControl

我正在尝试使用 PythonNet 将 UserControl 添加到 WinForm 但没有任何运气。为了进行测试,我添加了一个按钮,该按钮显示但未显示 UserControl,我不确定我做错了什么。

所有代码都可以放在一个py文件中。我分成了几个部分,希望它会更容易阅读。

用户控制

家长表格

入口点和进口

0 投票
2 回答
978 浏览

python - 如何从python调用带有ref和out参数的C#库函数?

我使用 pythonnet 而不是 ironpython。

有一个这样的功能:

如何test在 python 3.6 中调用?