文档章节

C#脱离IronPython中执行python脚本

gsbhzh
 gsbhzh
发布于 2014/12/27 13:03
字数 248
阅读 2804
收藏 11

给客户安装程序时除了安装.net framework还要安装IronPython,是不是觉得很麻烦?

上面这一切都弱爆了,下面我来介绍一种不安装IronPython只需要引入几个IronPython的dll就可以在c#中执行python脚本的方法。

1:引入IronPython中的几个dll

         

2:进入IronPython的Lib文件夹,把Lib中的内容打包成zip,名字任意既可。打包好后放到c#项目下

       

   我把它放到了和py文件同一个目录中 

3:很关键的一步,程序初始化时执行下段代码

ScriptEngine engine = Python.CreateEngine(); 
ScriptScope scope = engine.CreateScope(); 
ScriptSource source = engine.CreateScriptSourceFromString( 
    @"import sys" "\n"  
    @"sys.path.append("".\scripts\pythonlib.zip"")" "\n"
    @"sys.path.append("".\scripts"")" "\n"
); 
source.Execute(scope);



将zip文件加入python库路径。这样能保证py脚本可以正确搜索到python库的位置。

4:尽情享用脚本语言带来的便利吧。为其他人安装程序时也不用安装讨厌的IronPython环境了。

本文转载自:

共有 人打赏支持
gsbhzh
粉丝 10
博文 23
码字总数 2611
作品 0
西安
个人站长
私信 提问
IronPython和C#交互

http://www.cnblogs.com/xukun588/ IronPython和C#交互 IronPython是一个.NET平台上的Python实现,包括了完整的编译器、执行引擎与运行时支持,能够与.NET已有的库无缝整合到一起。 IronPyth...

仰望星空_588
2018/08/11
0
0
你清楚c#怎么使用python的东西吗?

本次实验是vs2010版本以下(包括vs2010),我记得如果是高版本的话好像已经内置了,所以比较简单 1.去官网下载IronPython,它是IronPython 是一种在 NET 和 Mono 上实现的 Python 语言 2.打开...

__simple
2016/06/02
0
0
各种 Python 实现的简单介绍与比较

(点击上方公众号,可快速关注) 编译:Daetalus http://python.jobbole.com/82703/ 当谈到Python时,一般指的是CPython。但Python实际上是一门语言规范,只是定义了Python这门语言应该具备哪...

Python开发者
2018/04/25
0
0
IronPython通过pypyodbc使用SQLAlchemy的方法

SQLAlchemy是目前在Python界大热的技术,但由于IronPython数据库接口库的缺乏,IronPython却一直无法使用此神器。 现在,借助于纯Python的ODBC接口库pypyodbc,通过简单扩展SQLAlchemy,Iro...

派派技术小组
2013/03/07
0
0
如何处理python中的引用控制变量

最近在用IronPython做插件系统,在插件里边需要点用.net封装的算法库,算法库里提供了一个执行函数,需要执行很长时间,并且提供了一个ref byte类型的控制产量用于中止,c#代码类似如下: pu...

bbants
2014/07/27
149
0

没有更多内容

加载失败,请刷新页面

加载更多

数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
19分钟前
0
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
1
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
昨天
1
0
推荐转载连接

https://www.cnblogs.com/ysocean/p/7409779.html#_label0

小橙子的曼曼
昨天
3
0
雷军亲自打造的套餐了解下:用多少付多少

12月28日消息,小米科技创始人兼CEO雷军微博表示,小米移动任我行套餐方案,原则上就是明明白白消费,用多少付多少,不用不花钱!上网、电话和短信都是一毛钱,上网0.1元/M,电话0.1元/分钟,...

linuxCool
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部