问题标签 [ironpython]

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 投票
2 回答
1258 浏览

.net - IronPython 中的代理对象

我正在尝试在 IronPython 中创建一个代理对象,它应该动态呈现底层结构。代理本身不应该有任何功能和属性,我试图在运行时捕获所有调用。捕获函数调用很容易,我只需要为我的对象定义getattr () 函数,并检查底层是否存在适当的函数,并返回一些类似函数的对象。

我的属性有问题 - 我不知道如何区分调用上下文,我的属性是被称为左值还是右值:

o = myproxy.myproperty #我需要调用underlying.myproperty_get()

或者

myproxy.myproperty = o #我需要调用underlying.myproperty_set(o)

我查看了 Python 中的特殊函数列表,但没有找到合适的。

我还尝试通过 exec() 和内置 property() 函数的组合在对象中动态创建属性,但我发现 IronPython 1.1.2 缺少整个“新”模块(在 IronPython 2.x 中存在) beta,但我宁愿使用 IP 1.x,因为 .NET 2.0 框架)。

有任何想法吗?

0 投票
8 回答
3321 浏览

c# - IronPython 用于 C# 上的单元测试

我们知道 Python 提供了比任何编译语言都高的生产力。我们用 C# 编程,需要用 C# 本身编写单元测试用例。如果我们看到我们为单元测试编写的代码量大约是原始代码的十倍。

用 IronPython 而不是 C# 编写单元测试用例是理想的选择吗?有没有机构做过这样的事?我写了几个测试用例,它们似乎很好。但毛茸茸的尖尖经理不会接受。

0 投票
2 回答
1338 浏览

.net - 如何在 IronPython 中创建 Web 服务?

如何在 IronPython 中创建 .Net Web 服务?最好是动态的,无需任何预处理或后处理。

0 投票
2 回答
1377 浏览

.net - 如何向 IronPython 中定义的方法和类型添加属性?

由于 IronPython 不支持属性,我想知道是否有另一种方法来装饰 IronPython 类的属性,也许是反射?

0 投票
2 回答
1285 浏览

ironpython - Ironpython Studio 表单

这是一个两部分的问题。一个愚蠢的技术查询和一个更广泛的查询,关于我学习用我不熟悉的语言做一些事情的可能错误的方法。

我只是在玩一些 Python GUI 库(主要是 wxPython 和 IronPython)来做一些我正在考虑在开源应用程序上做的工作,只是为了提高我的技能等等。

白天,我是一个非常标准的 c# 开发者,使用一组非常普通的基于 MS 的工具,我正在寻找 Python 来给我一个新的视角。因此使用 Ironpython Studio 可能有点作弊(好吧,很多)。这似乎无关紧要,因为无论它试图看起来像 Visual Studio 项目等。有一个简单的行为我可能太笨而无法实现。

IE 如何将我的表单保存在漂亮的单独代码文件中,就像我一直以来的 c# 猴子一样,但又相互调用它们?我已经尝试将要调用的表单导入到主表单中,但我似乎无法让表单被识别为对象以外的任何东西。新表单似乎是它自己的代码文件中的表单对象,我正在导入 clr。我正在尝试调用表单的“显示”方法。这不对吗?

我已经尝试了一些(在我看来不太可能)解决这个问题的方法,但这个问题似乎很棘手。这是我没有看到的东西,还是实际上更适合我改变我对 GUI 脚本的看法以适应 Python (在这种情况下,我可能会切换回 wxPython,这似乎从 Pythonic 更平易近人观点)而不是尝试从 Visual Studio shell 的安全性来看待 Python?

0 投票
3 回答
808 浏览

.net - 如何使用 NGEN 二进制文件安装 IronPython 2.0?

有谁知道如何使用 MSI 包安装 IronPython 2.0 和 NGEN 的二进制文件?IronPython 官方主页说 NGEN 选项将大大缩短启动时间,但由于某种原因,它默认没有启用。它实际上并没有说明您需要传递哪些 MSI 参数才能启用它,而且我在网站上找不到文档页面,所以我希望这里有人知道。(澄清:我正在为分发到多台机器进行静默安装,所以我正在寻找命令行参数,谢谢)

我问这个是因为在我的笔记本电脑上,一个简单的“hello world”脚本的开始时间大约是 5-6 秒,配备 2+ghz Intel Core 2 Duo w/4gig。每次我跑步时都会发生这种情况。我希望这个 NGEN 选项可以解决这个问题,因为它现在很慢,几乎感觉就像我在使用一种编译语言。

更新: srivatsn 有使用 NGENDLLS=True 命令行参数的正确答案。

为了将来参考,这里是我用来静默安装 IronPython 2.0 的完整 MSI 命令行:


感谢 Igal,但我实际上是在进行静默安装(通过 msiexec /qn)以集中分发到多台机器。有谁知道启用 NGEN 选项的命令行参数(非 UI)是什么?

0 投票
1 回答
882 浏览

.net - Ironpython 是否有替换 pywin32 扩展的库?

我有一些使用 pywin32 扩展的旧 python 代码。从 .net 开始,我想将它移植到 Ironpython。

旧的 python 代码使用诸如 pythoncom.com_error、pywintypes.Time 之类的东西,并接口一个实现 IDispatch 接口的 COM 模块。

Ironpython 的 .net 库是否具有与 COM 模块通信所需的一切?具体来说,它有什么东西可以代替 com_error 和 Time 吗?

谢谢。

0 投票
1 回答
1012 浏览

log4net - 从 IronPython 调用 .NET 代码,加载 log4net 程序集时出错

我有一个配置 log4net 的 IronPython 脚本,然后调用使用 log4net 的 .NET 代码。log4net 已正确配置,因为我记录了一条消息以指示它已初始化。但是当我尝试使用我的 .NET 类时,它会报告“无法加载文件或程序集 'log4net, ...'。

一些有用的事实:

  • log4net 未安装到 GAC
  • .NET 类是正确的,我从其他 .NET 代码中调用了它
  • 在 IPY 中加载的 log4net 程序集与我的 .NET 程序集位于同一文件夹中。
  • filemon 显示所有 log4net.dll 访问都已从预期位置成功解析
  • fuslogvw 不报告任何绑定错误
  • 我正在使用 AddReferenceToFileAndPath( ) 添加 log4net 引用和 .NET 程序集引用

奇怪的是 log4net 程序集已经被加载了。它必须在另一个 AppDomain 中加载 .NET 程序集。如果这就是它的工作原理,那么了解它会很有帮助。

有什么想法吗?谢谢。

0 投票
4 回答
12191 浏览

python - IronPython 上的 Django

我有兴趣在 IronPython 上安装 Django,有没有人成功地让它运行并取得了一定程度的成功?

如果是这样,您能否谈谈您的经验、表现、建议一些技巧、资源和陷阱?

0 投票
3 回答
2369 浏览

python - IronPython 网络框架

似乎有许多优秀的 Python 网络框架。有没有人在 IronPython 中使用过这些(Pylons、Web2Py、Django)?