问题标签 [python.net]
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.
python - 是否可以将无堆栈 python 2.7.2 与 pythondotnet 一起使用?
平台:Windows 7 假设两者都是 32 位版本。
我目前的理解是这是不可能的,因为两个安装过程都涉及替换 python.exe 本身。
我想每个来源都必须合并才能从两者中获得功能?
无堆栈 Python:http: //zope.stackless.com/
用于 .NET 的 Python:http: //pythonnet.github.io/
我们在 IronPython 上使用 Python for .NET,因为我们想要访问所有的 cpython 库(例如 matplotlib 等)。
.net - 如何从python中的dll访问一个类?
我有一些 .dll 文件,其中的类旨在控制通过以太网连接到我的桌面的外部设备。我想将这些类导入 python 并使用它们的成员函数/变量等来控制设备。
我查看了许多选项,包括:
-ctypes (这似乎适用于函数但不适用于类)。这里“DotNet\Aerotech.Ensemble.dll”是我的 dll 库,“Network”是该库中的一个类,具有成员函数“Connect”。库加载,但我无法访问该类...
-IronPython / Python for .Net,但这些似乎完全是不同的语言,我希望能够从一个地方(python)做所有事情。
-SWIG。SWIG 文档似乎表明它可以处理导入类,但似乎也需要包装 C++ 代码和/或头文件(我没有)以用作 python 模块。
我是一个初学者,在这里相当迷失,所以任何帮助表示赞赏!
编辑:
@SvenMarnach:我查看了 IronPython 并能够让它与我的 dll 文件一起使用,但我想在Python中执行此操作,因为我已经在使用该语言做很多事情。我想将这些 dll 函数或类或其他任何东西集成到现有的 python 程序中。
然而,在让 IronPython 工作的过程中,我偶然发现了Python for .NET,它声称能够将 .Net 感知安装到现有的 python 安装中......如果我使用,这可以工作(即我可以访问 dll 文件并控制我的设备)它在我将 python for .NET 文件下载到的目录中,但是如果我在其他目录中尝试它(记得将 python.net 目录附加到 sys.path),你会得到一个错误ImportError: dynamic module does not define init function (initclr)
python - 在 pythonnet 中使用 OWdotNET.dll (python for .NET)
我的办公桌上有一个 USB 转单线适配器,我想自动使用它。我用它来编程 dallaskeys,这是通过单线编程和读取的徽章。
有一个提供 API 的托管 DLL,我喜欢 python,所以我想使用来自“python for .NET”又名 pythonnet 的第三方托管 DLL。
我的脚本如下所示,运行没有问题:
但是,我不知道如何使用库中的类。我已经尝试过clr.OWdotNET
,但这给了我一个属性错误。我也试过clr.AddReference("OWdotNET")
了。
链接:
http://files.maxim-ic.com/sia_bu/softdev/owdocs_400beta2/Docs/OW.NET/OW.NET_Primer.html
python - 无法在 Python 中加载程序集“Microsoft.VisualStudio.TestTools.UITesting”
我已经在 Ironpython 中自动化了我的整个框架,它工作得很好而且很稳定。
最近,我的公司实现了拖放功能以实现自动化。
我找到了一个 Dll('Microsoft.VisualStudio.TestTools.UITesting.dll'),它具有类 mouse,并且该类具有称为 mouse.startdragging() 和 mouse.stopdragging() 的方法。
但不幸的是,我无法添加此 Dll 的引用。我收到以下错误
" clr.AddReference("Microsoft.VisualStudio.TestTools.UITesting") System.IO.FileNotFoundException: 无法在 C 中的 Python.Runtime.CLRModule.AddReference(String name) 中找到程序集 'Microsoft.VisualStudio.TestTools.UITesting'。 \Users\Barton\Documents\Visual Studio 2008\Projects\PySharp\trunk\pythonnet\src\runtime\moduleobject.cs:line 375 "
如果有人可以帮助我,我将不胜感激,我正在我的项目中
c# - python.net:无法使用 winforms 加载 python27.dll,但控制台应用程序可以工作
我正在使用 .net framework 4.5,但与 4.0 的结果相同:
如果我编写一个简单的控制台应用程序来初始化 python.net,它会按预期工作。如果我尝试从 winforms 应用程序执行相同的操作,我会收到“无法加载 DLL 'python27':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)”
如果我从 winforms 应用程序引用正常运行的控制台应用程序并调用初始化 python.net 的方法,则会发生同样的事情。构建设置是两个项目的默认设置。
我什至将 python27 直接放入可执行文件夹,但仍然发生相同的错误,所以我猜这可能是 32 位与 64 位的问题,即使两个项目都配置为任何 cpu。
c# - 如何从 C# 运行 Python 脚本?
这类问题以前也有不同程度的问过,但我觉得回答得不够简洁,所以又问了一遍。
我想在 Python 中运行一个脚本。假设是这样的:
它获取文件位置,读取它,然后打印其内容。没那么复杂。
好的,那么我如何在 C# 中运行它?
这就是我现在所拥有的:
当我通过code.py
位置cmd
和filename
位置时args
它不起作用。有人告诉我我应该python.exe
作为传递cmd
,然后code.py filename
作为传递args
。
我一直在寻找一段时间,只能找到建议使用 IronPython 之类的人。但是必须有一种方法可以从 C# 调用 Python 脚本。
一些澄清:
我需要从 C# 运行它,我需要捕获输出,而且我不能使用 IronPython 或其他任何东西。无论你有什么黑客都可以。
PS:我实际运行的 Python 代码比这复杂得多,它会返回我在 C# 中需要的输出,而 C# 代码会不断调用 Python 代码。
假装这是我的代码:
python - IronPython 中使用 NumPy 和 SciPy 的权威方法
有一种在 IronPython 中使用 NumPy/SciPy 的方法,使用IronClad与相同的 CPython 二进制文件执行/通信。一个较新的项目,用于 VS 的 Python 工具允许更快地与 .NET IronPython 程序集成,因为大多数 NumPy/SciPy 库功能已手动移植到 IronPython 中。同一页面上的评论指向此博文,该博文链接到相同的 github 项目。
截至今天(2012 年 10 月),从 IronPython NET python 程序中集成/使用这两个库的最终方法是什么?
python - 使用 Visual Studio 2012 编译 pythonnet (.NET) 以运行 Enthought Python Distribution (Canopy)
我已经使用 VS2012 构建了 pythonet (python for .NET)。如果我只使用普通的 python,一切都很好。但是,一旦我尝试导入一些“较重”的 Python 模块,例如 numpy 或 scipy,就会出现运行时错误。
Enthought 提供了快速响应和有用的信息;引用环保署的支持回应:
问题的根源在于 EPD 库是针对 VS2008 编译的,并且它们是使用用 VS2012 编译的 Python 加载的。由于 EPD dll 没有在其清单文件中说明编译器(并且有些没有清单),因此假定依赖于 VS2012。这会导致“尝试错误地加载 C 运行时库”。
我想知道的是我是否可以使用 VS2012 构建 pythonnet,使其表现得好像是“针对 VS2008 构建的”?
python - Python for .NET“找不到程序集”错误
我正在使用 CPython,并且我有一个 C# dll。我正在尝试使用 Python for .NET 让他们说话。我不能使用 IronPython,因为我需要将它集成到现有的 CPython 系统中。
我对 Python for .NET 完全陌生,实际上我对 Python 的经验很少,对 C# 也没有经验。所以如果我的问题看起来很基本,请原谅我。
我正在使用 Python 2.7.3,我下载了 pythonnet-2.0-alpha2-clr2.0_131_py27_UCS2 并将其解压缩到一个名为 pyfornet_test 的文件夹中,该文件夹还包含我正在尝试使用的 dll(称为 DotNet4Class.dll)
然后我运行这个:
这给了我这个错误:
任何建议将不胜感激。谢谢!
python - 在 Maya 中使用 .NET
我想为使用 .NET 库的 Maya/Windows 编写一个插件,以便我可以从 Maya 中捕获 Windows 系统事件。我已经研究了Python for .NET,但我不知道我在做什么。我尝试使用 Visual C# 2010 Express 从源代码构建并将 clr.pyd 和 Python.Runtime.dll 文件放置在我的 Maya bin 文件夹中,正如许多人所建议的那样,但是当我尝试在脚本编辑器中键入“import clr”时,它给我
第 1 行:DLL 加载失败:%1 不是有效的 Win32 应用程序。
我已将 C# 解决方案平台设置为 x64,生成的 python.exe 在 x64 中的 Python 2.6 中运行,而 Maya 在 x64 中运行 Python 2.6。谁能告诉我我做错了什么,或者是否有 Python for .NET 的替代品?