多语言展示
当前在线:146今日阅读:168今日分享:49

UWP C#调用Python的一种尝试办法

本经验介绍在UWP开发中,C#调用Python的一种尝试办法。应用场景如:需要使用一些Python代码和库,UWP平台无对应。目前问题是,产生的应用可能与UWP沙盒机制冲突。
工具/原料
1

Visual Studio 2015

2

PyCharm

方法/步骤
1

首先,在UWP调用Python其实有多种解决方式,但是大都不尽人意。IronPython也是可以考虑的。不论那种情况,想要调用单独安装的Python是不可能的。但是如果想要调用较新的Python版本,一种方式是使用一个第三方类库,Common Language Extension。

2

在CLE的下载页面,可以找到CLE for Windows UWP。下载安装即可。但是要注意,Trial版本编程时创建的对象数受限制。

3

下载好以后,打开压缩文件夹,可以看到器内容。UWP要使用的就是win10.uwp文件夹下的东西。

4

打开win10.uwp,可以看到几个文件夹,有Python-3.4.5,Python-3.5.2,Python-3.6.3,还有lib文件夹,是要引用的库文件放置的地方。

5

打开lib/x86文件夹,其中红色箭头指出的两个文件,是要在解决方案管理器中添加引用的。

6

打开Python-3.4.5文件夹,图中的一个zip压缩包,是python一些比较基本的要用到的包(非Python解释器)。另外,还有一些Python有关文件,具体可查看范例example。

7

范例的位置在examples/testpython文件夹下,如图双击testpython.sln打开即可。

8

可以看到如中有两个引用,Libstarcore和Star_csharp,另外下面也有三个文件,是要设置为复制到输出文件夹,在运行的时候被调用的。

9

在上面编译设置选择x86,然后点击运行,可以看到在控制台运行的Python代码的结果。

10

但是有个问题是,对生成的包进行Certification时,结果失败。具体来说,有了很多UWP沙盒不允许的API调用,具体原因作者尚不清楚。

注意事项
1

如果遇到问题,可以在下面提出疑问。

2

总体来说,UWP调用Python限制太多。.net桌面程序调用python就简单很多。

推荐信息