Windows Store 应用中的 Python

9
Windows商店应用Python 3 For Metro声称可以允许用户编辑和运行Python文件(但我无法使其工作)。在沙盒内如何实现这一点?我能否从JavaScript应用程序中运行桌面上的文件(例如test.py)?

你是指这个吗?如果不是,请提供一个链接。 - poke
是的,那就是我所说的应用程序。谢谢你提供链接。 - Max Ferguson
3个回答

15

如何在沙盒内实现这个?

我将Python解释器移植到WinRT上,以此来实现。它不再使用Win32 API,而是使用WinRT API(特别是用于从用户文档文件夹中读取文件)。

我能否从我的JavaScript应用程序中运行桌面上的文件(例如test.py)?

原则上可以。您需要从我的应用程序中获取python33.dll,并将其包装为WinRT组件,然后调用它。它实际上已经是一个WinRT组件,但没有公开任何Python API。请参阅

http://hg.python.org/sandbox/loewis/file/ee9f8c546ddd/win8app/python33


1

基本上,您需要做的是根据Metro规则编写一个C++“shell”应用程序,然后在该C++应用程序中托管Python解释器。然后再清理Python代码库,使其在Metro沙盒内运行。

然后,您可以更进一步,让C++ shell向Python环境公开WinRT库。可能有一种方法可以让Python公开WinRT对象,但那将是很多工作。

您将无法直接从JavaScript调用Python - 您需要一个WinRT组件在中间。

这是很多工作,并且需要进行一些相当低级别的C工作。


-2

您有两个选项:

  • 将python.exe添加到您的PATH中,然后在终端内,进入包含test.py文件的文件夹,并使用您当前的安装运行 python.exe test.py

  • 您可以按照this post的步骤1和步骤2,从头开始安装全新的Python

如果您能提供更多信息,我们可以更好地帮助您。

我能否从我的JavaScript应用程序中运行桌面上的文件(例如test.py)?

这可能是您真正面临的问题,您的意思是什么?通常的答案是“不行”。


我从桌面运行Python文件没有问题。我是一名Python开发者。我想做的是从Metro应用程序调用Python文件。起初我认为这是不可能的,但是“Python 3 For Metro”以某种方式实现了它。 - Max Ferguson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接