有没有人用IronPython和ASP.NET构建一个网站.你的经历是什么,并准备好黄金时段的组合?
我只是听了Chris Smith关于F#的播客,其中他讨论了F#是如何使用C#/ VB.NET 以不同的方式处理问题的语言,而不是"推动"你的链" "数据转换",以及F#将如何"变得像XML",除了您选择的语言(C#或VB.NET)之外,您还可以使用它,以便以更有效的方式解决某些问题.
这让我想到了.NET语言的关系,这就是我理解它们的方式:
但是IronPython和IronRuby呢?Chris提到"F#从Ruby和Python中学到了很多东西",所以我认为F#与IronRuby/IronPython有类似的关系,而C#与VB.NET有关.然而,有点谷歌搜索告诉我IronRuby和IronPython都建立在DLR上,但F#不是.
如何最好地理解F#,IronRuby和IronPython之间的关系?
我一直梦想着用脚本语言创建一个"真正的exe".有了基于DLR的Python和Ruby实现,这是否更接近现实?
我想创建一个"真正的应用程序":
并且分配单元是编译的exe.
这可能吗?或者MS刚刚创建了基于.NET的脚本文件解释器?
如果您这样做,您如何构建您的应用程序/项目?您使用的是C#和DLR代码的混合体?
有没有人用IronPython和ASP.NET实际构建和部署了一个网站.你的经历是什么,并准备好黄金时段的组合?
一年多前我问过这个问题.而共识似乎"不是真的".
现在的状态是什么?
以下导入在ipy.exe提示符下工作,但在C#4.0程序中使用IronPython ScriptRuntime失败.
import ConfigParser
Run Code Online (Sandbox Code Playgroud)
C#代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
namespace CSharpDynamic
{
class Program
{
static int Main(string[] args)
{
ScriptRuntime python = Python.CreateRuntime();
dynamic dynamicIni =
python.UseFile(@"c:\test\WebCast\DynamicIni.py");
return 0;
}
}
}
Run Code Online (Sandbox Code Playgroud)
CPython使用PYTHONPATH环境变量.使用ScriptRuntime时如何在IronPython中配置它?
我是使用Python的新手.我想用Python开发Windows GUI应用程序.经过一番研究,我发现我有两个选择: -
我可以知道哪个更适合Windows应用程序开发?哪个选项有更多功能(例如数据库支持等)?
除了.NET支持,IronPython和Python之间有什么大的区别吗?哪一个对我来说是更好的选择?
谢谢.
Patrick.L
到目前为止,我有一个简单的类包装python引擎(IronPython)供我使用.虽然代码看起来很大,但它非常简单,所以我在这里复制它以便更清楚地解决我的问题.
这是代码:
public class PythonInstance
{
ScriptEngine engine;
ScriptScope scope;
ScriptSource source;
public PythonInstance()
{
engine = Python.CreateEngine();
scope = engine.CreateScope();
}
public void LoadCode(string code)
{
source = engine.CreateScriptSourceFromString(code, Microsoft.Scripting.SourceCodeKind.Statements);
source.Compile();
}
public void SetVariable(string key, dynamic variable)
{
scope.SetVariable(key, variable);
}
public void RunCode()
{
source.Execute(scope);
}
public void CallFunction(string function)
{
//?????? no idea what to call here
}
}
Run Code Online (Sandbox Code Playgroud)
所以,它工作得很好,但它只允许我一次执行所有python脚本......但我想做的是能够从pythos脚本中调用特定的函数.
所以,我的问题是:如何在加载的脚本中调用特定函数?
我试图找到一些信息或教程,但遗憾的是找不到任何东西.
我在C#项目中遇到一个奇怪的问题,它在尝试通过IronPython脚本创建目录时发生.这是代码:
targetTemplateDirectory = Path.Combine(Data, "Templates\\CheckedReports")
if not Directory.Exists(targetTemplateDirectory):
Directory.CreateDirectory(targetTemplateDirectory)
Run Code Online (Sandbox Code Playgroud)
问题是IOException告诉我无法创建文件夹,"H:\ProductName\Data\Templates\CheckedReports"因为已经存在具有相同名称的文件或目录.
根据MSDN,该方法Directory.CreateDirectory()在目录已存在时不会抛出任何异常.
我知道名为" CheckedReports" 的文件可能是此异常的原因,但客户非常非常不可能手动创建该文件.除此之外,没有包含单词" CheckedReports" 的代码行(除了上面提到的脚本).此外,该应用程序被数千名客户使用,该脚本在每台机器上执行,只有一位客户报告了此问题.
除了具有相同名称的文件之外,是否有可能发生此异常?也许与权限,可移动媒体或网络驱动器相关的东西?
这是对/sf/ask/2637887801/的跟进
我发现由于线程库中的Timer对象存在问题,我的程序在编译后无法正常工作.我已将库包含在我的\ Lib\site-packages目录中,并将该目录添加到程序中的路径中.这是我正在使用的测试代码 - 一个简单的计数程序:
import sys
from threading import Timer
sys.path.append('C:\Users\[user]\Documents\Visual Studio 2015\Projects\Testing Timer Compilation issue\Testing Timer Compilation issue')
sys.path.append('C:\Users\[user]\Documents\Visual Studio 2015\Projects\Testing Timer Compilation issue\Testing Timer Compilation issue\Lib')
class Chron():
def __init__(self):
self.t = Timer(2, self.count)
self.t.start()
self.i = 0
def count(self):
print(self.i)
self.i += 1
if self.i <= 15:
self.t = Timer(2, self.count)
self.t.start()
c = Chron()
Run Code Online (Sandbox Code Playgroud)
在Visual Studio中的Interactive Interpreter中完美运行,但是一旦我使用pyc.py编译为exe文件,它就不会运行,只需在~5秒后关闭,不会抛出任何异常.
正如前一个问题中所提到的,我有一个程序,其中包含一个我需要编译的Timer,因为源代码包含敏感凭据.是否有任何必要的技巧使Timer在exe中工作?它只是不兼容吗?
编辑:6天没有答案.不幸的是,互联网上似乎没有任何资源可以解决这个特定问题.这几乎就像我是唯一一个有这个问题的人.这对我来说似乎很奇怪,因为问题似乎与Timer对象本身有关,我无法想象没有其他人试图在其中部署带有Timer的应用程序.任何见解在这一点上都会有所帮助,因为我完全难过.
是否可以在.NET / C#环境中生产Python代码而无需安装Python且无需将Python代码转换为C#,即按原样部署代码?
我知道安装Python语言是合理的做法,但是我很犹豫,因为我没有足够的人力,所以我不想在生产环境中引入一种新语言并处理其测试和维护复杂性知道Python可以解决这些问题的人。
我知道IronPython是基于CLR构建的,但是不知道如何在.NET中托管和维护它。它是否使人们能够将PYthon代码视为可以导入C#代码的“程序包”,而无需实际将Python安装为独立语言?在这种情况下,IronPython如何使我的生活更轻松?python.net可以给我更多的杠杆作用吗?
ironpython ×10
c# ×4
python ×4
.net ×3
asp.net ×2
ironruby ×2
c#-4.0 ×1
compilation ×1
dynamic ×1
f# ×1
pyc ×1
pyqt ×1
python.net ×1
timer ×1
vb.net ×1