2016 - 2024

感恩一路有你

探索UWP C调用Python的全新解决方案

浏览量:4081 时间:2024-03-10 13:26:21 作者:采采

在UWP开发中,想要实现C调用Python的需求并不罕见。这种尝试往往涉及到需要使用特定的Python代码和库,而UWP平台本身并没有对应的支持。然而,当前面临的问题是,生成的应用可能会与UWP的沙盒机制产生冲突。

多种解决方式

针对在UWP中调用Python的需求,其实存在多种解决方案,但大多数都无法令人满意。IronPython或许是一个值得考虑的选择。不过,无论采用何种方式,直接调用单独安装的Python是不可行的。如果想要调用较新版本的Python,一种方法是利用第三方类库——Common Language Extension(CLE)。

使用CLE扩展

在CLE的下载页面上可以找到专为Windows UWP设计的CLE版本。只需下载并安装即可开始使用。不过需要注意的是,在试用版本中,创建的对象数量是受限制的。

文件结构解析

安装完成后,打开压缩文件夹,你会看到其中的内容。对于UWP的使用而言,关键是位于win10.uwp文件夹下的内容。打开该文件夹后,你会看到几个子文件夹,包括Python-3.4.5、Python-3.5.2、Python-3.6.3,以及存放需要引用的库文件的lib文件夹。

设置引用项

进入lib/x86文件夹,标有红色箭头的两个文件是需要在解决方案管理器中添加引用的文件。此外,在Python-3.4.5文件夹中还有一个zip压缩包,其中包含了一些Python基本的必需包(非Python解释器)。同时,还有其他与Python相关的文件,具体内容可查看示例文件夹example。

示例演示

示例文件位于examples/testpython文件夹下,通过双击文件即可打开。在范例中有两个引用,Libstarcore和Star_csharp,此外还有三个文件需要设置为复制到输出文件夹,以便在运行时被调用。

运行测试

在编译设置中选定x86后,点击运行按钮,你将看到控制台中Python代码的执行结果。然而,在对生成的包进行认证时,可能会遇到失败的情况。具体原因在于存在许多UWP沙盒不允许调用的API,作者目前尚未明确清楚这些限制的根源。

通过以上完整步骤,从CLE的安装到示例代码的运行,希望能够帮助开发者更好地理解如何在UWP环境下实现C调用Python的功能。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。