我尝试过使用Microsoft提供的IronPython集成扩展.但它不适用于Visual Studio 2008.
IronPython是否有适当的VS 2008 IDE扩展?
根据这个:
IronPython(Python for .Net)在同一台机器上比常规Python(cPython)更快.为什么是这样?我认为编译的C代码总是比等效的CLI字节码快.
我一直在使用IronPython的有一段时间了,但它的东西真的阻碍我的发展是,它是极度启动缓慢.我喜欢这种语言及其工作方式,但在开始执行我的代码之前必须等待20秒才令人沮丧.
我做了一些挖掘,似乎问题不在于importing,而是在那个阶段之前.
谢谢.
这是一个与我在这里问到的另一个相关的分支问题.我把它分开了,因为它真的是一个子问题:
我很难将类型的对象转换dynamic为另一种(已知的)静态类型.
我有一个执行此操作的ironPython脚本:
import clr
clr.AddReference("System")
from System import *
def GetBclUri():
return Uri("http://google.com")
Run Code Online (Sandbox Code Playgroud)
请注意,它只是新建了一个BCL System.Uri类型并返回它.所以我知道返回对象的静态类型.
现在在C#land,我正在新建脚本托管的东西,并调用此getter返回Uri对象:
dynamic uri = scriptEngine.GetBclUri();
System.Uri u = uri as System.Uri; // casts the dynamic to static fine
Run Code Online (Sandbox Code Playgroud)
没问题.我现在可以使用强类型的Uri对象,就像它最初静态实例化一样.
然而....
现在我想定义我自己的C#类,它将在动态范围内新建,就像我对Uri一样.我简单的C#类:
namespace Entity
{
public class TestPy // stupid simple test class of my own
{
public string DoSomething(string something)
{
return something;
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在在Python中,新建一个这种类型的对象并返回它:
sys.path.append(r'C:..path here...')
clr.AddReferenceToFile("entity.dll")
import Entity.TestPy
def GetTest(): …Run Code Online (Sandbox Code Playgroud) 我花了很长时间寻找一种能够将类似于matplotlib的功能带到.NET框架的产品.据我所知,没有什么能真正起作用.这是一个准确的评估吗?这是我发现的:
商业:
开源:
我认为拥有一个.NET项目非常有价值,它提供了交互式绘制F#和IronPython等语言数据的能力.有谁知道这样的项目?
鉴于:
def test_to_check_exception_is_thrown(self):
# Arrange
c = Class()
# Act and Assert
self.assertRaises(NameError, c.do_something)
Run Code Online (Sandbox Code Playgroud)
如果do_something抛出异常则测试通过.
但是我有一个属性,当我替换时c.do_something,c.name = "Name"我得到一个关于我的测试模块没有被导入的错误,Eclipse突出显示了等号.
如何测试属性会引发异常?
编辑:
setattr并且getattr是新的我.在这种情况下,他们肯定有所帮助,谢谢.
我正在尝试将以下构造IronPython模块的C#示例转换为F#.
using System;
using IronPython.Runtime;
[assembly: PythonModule("my_module", typeof(MyModule))]
public static class MyModule {
public static void hello_world() {
Console.WriteLine("hello world");
}
}
Run Code Online (Sandbox Code Playgroud)
from my_module import *除其他外,使用PythonModule允许.
我无法弄清楚如何在F#中应用PythonModule属性.F#文档仅讨论与模块相关的程序集属性,并附加到do().我不清楚如何定义被解释为python模块的静态类,但我不是C#/ F#/ IronPython专家.
IronPython已经出现了一段时间了,所以当我今天早上安装Visual Studio 2010 RC1"Ultimate"时,我惊讶地发现它无法从安装程序中选择.相反,仍然需要去Codeplex.有人知道为什么没有包括在内吗?
是否可以在我的.Net应用程序中运行IronPython解释器,但是在沙盒中?我想拒绝IP脚本访问文件系统,同时仍然允许应用程序本身访问.
这会涉及在第二个AppDomain中运行脚本引擎吗?我怎么能把它戴上手铐让它不能随便做什么呢?
我希望能够使用IronPython编写PowerShell CmdLets,而且我需要一个CmdLet来查看环境并根据内容将CmdLets添加到PowerShell.例如,读取目录,并为其在那里看到的每个文件名添加CmdLet Remove-.
ironpython ×10
.net ×4
c# ×3
python ×3
f# ×2
performance ×2
appdomain ×1
cmdlets ×1
dynamic ×1
powershell ×1
properties ×1
sandbox ×1
unit-testing ×1