首页 > 编程知识 正文

vs2010中嵌入python,vs2010选择要安装的功能

时间:2023-12-24 21:58:46 阅读:322069 作者:LYXV

本文目录一览:

VS2010中 Python的可视化编程如何实现??

pyqt开发我们都是用eric4的。所以也不需要手动生成py文件了,一键编译。

vs2010用来做.net, c++开发当然很好。用来做python开发,别扭。还比不上eclipse+pydev。某些商业版本的IDE功能也是很强大的。比如pycharm,wingide

可视化编程的鼻祖是delphi,后来这位老大被微软请去做了j++, c#等。dotnet时期的VISUAL 都有一点点delphi的痕迹。可惜与delphi还是差了很远。架构不好。并不是人多才做得好。这位一个人就可以做到最好。

不可否认vs这个集成环境,是目前最好的。不过python的编程习惯风格与它还不太一致。另外新版本的VS把旧版的好多方便使用的功能去掉了。有些象是office 2003以后版本,很难用的说。

怎样把Python代码嵌入到C程序

步骤1:安装Python开发包

由于需要访问Python/C API,首先安装Python开发包。

在Debian,Ubuntu或Linux Mint中:

在CentOS,Fedora或RHEL中:

安装成功后,Python头文件在/usr/include/python2.7。根据Linux发行版的不同,确切的路径可能是不相同的。例如,CentOS 6中是/usr/include/python2.6。

步骤2:初始化解释器并设置路径

C中嵌入Python的第一步是初始化Python解释器,这可以用以下C函数完成。

初始化解释器后,需要设置你的C程序中要导入的Python模块的路径。例如,比如你的Python模块位于/usr/local/modules。然后使用以下C函数调用来设置路径。

步骤3:数据转换

C中嵌入Python最重要的方面之一是数据转换。从C中传递数据到Python函数,需要首先将数据从C数据类型转换到Python数据类型。Python/C API提供各种函数来实现这。例如,转换C字符串到Python字符串,使用PyString_FromString函数。

另外一个类似函数PyInt_FromLong,将C中long数据类型转换为Python int。每个Python/C API函数返回一个PyObject类型的引用。

步骤4:定义一个Python模块

当你想嵌入Python代码到另一种语言如C,该代码需要被写成Python模块,然后用另一种语言“导入”。所以让我们来看看如何在C中导入Python模块。

为了进行说明,我们实现一个简单的Python模块例子如下:

以上的Python函数有一个字符串作为参数并返回两个重复的字符串。例如,如果输入字符串是“cyberpersons”,该函数返回'cyberpersonscyberpersons'。此模块文件命名为“printData.py”并将它放在前面声明的Python模块目录中(/usr/local/modules)。

步骤5:加载一个Python模块

现在你已经定义了Python模块,是时候在C程序中加载它了。导入模块的C代码看起来像这样:

步骤6:构建函数的参数

当加载一个模块时,可以调用模块中定义的Python函数。通常,我们需要传递一个或多个参数到一个Python函数。我们必须构建一个Python元组对象,它包括Python函数中的参数。

在我们的例子中,printData函数定义带一个参数的模块。因此,我们构建一个大小是一的Python元组对象如下。我们可以使用PyTuple_SetItem设置元组对象的每个项。

我们已经成功构建一个参数传递到函数调用,是时候从C程序调用python函数了。

步骤7:调用Python函数

一旦成功创建Python元组对象作为函数参数,我们可以调用一个带参数的Python函数。为此,通过使用PyObject_GetAttrString首先获得模块中定义的函数的引用,然后使用PyObject_CallObject调用该函数。例如:

步骤8:错误检查

避免运行时错误的常见方法是检查函数的返回值并根据返回值采取适当的行动。类似于C程序中的全局变量errno,Python/C API提供一个全局指示符,它报告最后发生的错误。当Python/C API函数失败,全局指示符设置为指示错误,并且PyErr_Print可以用于显示相应的人类可读的trackback。例如:

在你的应用程序中,你可以轻松地将各种错误检查。

这里是完整的C程序,它如本教程描述的嵌入Python代码。

步骤9:编译和执行

保存以上代码到finalCode.c,并且链接Python库(-lpython2.7)编译该代码。根据发行版的不同,可能使用不同的版本(例如,-lpython2.6)。

在c++中嵌入python时,程序无法运行,原因是python27_d.dll丢失,如何解决?

你把python27.dll复制成python27_d.dll就可以了。然后把dll放到windows/system32目录。或者是程序执行目录中。

原因是你的程序是debug版本的。你编译成release版本就没有这个问题了。

你编译能成功可见python27的lib应该连接成了。如果动态链接库就在当前目录里,但是就是引用不成功,你可以试验使用filemon这个程序监控一下调用过程。来确认目录是否正确。如果loadlibrary不成功,通常是目录问题或者是程序版本问题。

“安装目录下的DLL中”, 这句话有些费解。直接放在执行文件同一个目录中。

怎样在vs2010这个集成环境上,使用python语言?

习c语言就是学习它的“语法知识”,掌握之后就根据自己的其他方面的需求来灵活运用,解决问题。

英语好似要求一些,不过不是很多。

自己整本教材(国内的就随便整本,90%的内容雷同),然后耐下性子,看看。肯定会有许多不懂的地方,别怕.c语言既简单又复杂,简单到初学者和快能掌握,复杂到大学这方面的教授都不能全懂。

有耐心,对一个问题多从几方面思考。坚持下去,C语言会有用的!!

vs2010中怎么编辑ironpython脚本代码

.NET 4里面有一项重要的功能,就是动态语言,可以在.NET代码中直接调用第三方的动态语言脚本

ScriptRuntime py = Python.CreateRuntime();

//Dynamic feature only works on objects typed as 'dynamic'

dynamic helloworld = py.UseFile("helloworld.py");

Console.WriteLine("helloworld.py loaded!");

for (int i = 0; i  1000; i++)

{

      Console.WriteLine(helloworld.welcome("Employee #{0}"), i);

}

这是Visual Studio 2010中使用IronPython的例子,为了运行这个程序,请下载IronPython, 例子中的的源代码如下

def welcome(name):

      return "Hello '" + name + "' from IronPython"

现有IronPython 2.7.1 已经直接做成了Visual Studio的解决方案项目,简单方便省事。

几乎不用任何配置,直接安装下载回到的IronPython-2.7.1安装文件即可,它会为你的Visual Studio创建Python项目模板。在x86的电脑上,可以产生四个类型的项目模板,Console Application,WinForms Application,IronPython Silverlight Web Page,Wpf Application,而在x64的平台上,只产生了Console Application项目模板。

但是,这样还有点不方便,Python在这里被当成脚本语言,它的Build Action=None,意味着没有任何编译行为,这样会给代码的调试工作带来不方便之处。需要安装工具Python Tools for Visual Studio。

先卸载已经安装的IronPython工具包,才能继续安装Python Tools for Visual Studio。安装完成之后,项目模板又多了二项模板,Python Application和Python MPI Application。新建立一个Python Application项目

请先到Tools-Options的Python Tools中新建一个Interpreter,在Interpreter Options中点击Add Interpreter按钮,保存退出即可。然后就可直接在编辑器中放断点,调试的体验和调试.NET语言一样,Call Stask,Intermediate Window,Watch窗口都可用,这种感觉是相当的方便。再看看Program.py的文件属性,它的Build Action=Compile。

在安装工具包的同时,也同时会安装Python的命令行交互程序,这个程序可以当计算器用,直接输入表达式的值,它可以马上帮助你计算出结果。再来看看下面的Python的两个例子代码,以帮助你了解和学习这种语言。

Lambda表达式,这个可以简化代码的编写,请看Python的实现

func = lambda s: s * 3

print func("peter ")  

func2 = lambda a, b: a * b

print func2(2, 3)

调试这段代码,在Output窗口可以显示它的执行结果。Lambda表达式减少了很多不必要的代码。

Python的for循环语句,它的一种写法是这样的

for i in range(0, 10,2):

    print i

起始变量0,10是终止变量(不包括10),2是步长。.NET 4中引入了并行循环,它的代码例子如下

Parallel.For(0, Int64.MaxValue, i =

            {

                 

                 Console.WriteLine("i={0},thread id={1}", i, Thread.CurrentThread.ManagedThreadId);

                 Thread.Sleep(1000);

            });

整理一下文章的思路,您首先要选择一门脚本语言,来为你的应用程序提供动态代码执行能力。在这里,我选择Python语言,并选择它的.NET实现版本IronPython。其次,我要对脚本与.NET host之间的代码互操作有所了解,如何把.NET的变量传到脚本中,如何传回脚本的执行结果到.NET代码中。最后,我需要一个灵活方便的脚本编辑工具,并且可以提供强大的调试功能。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。