Windows Store 应用Python 3 For Metro声称它允许用户编辑和运行 Python 文件(我无法让它工作)。这怎么可能在沙箱中实现?我可以从我的 JavaScript 应用程序运行文件(比如test.py
在桌面上)吗?
3 回答
这怎么可能在沙箱中实现?
我已将 Python 解释器移植到 WinRT 以实现这一目标。它现在不再使用 Win32 API,而是使用 WinRT API(特别是用于从用户的 Documents 文件夹中读取文件)。
我可以从我的 JavaScript 应用程序运行一个文件(比如桌面上的 test.py)吗?
原则上,是的。您需要从我的应用程序中获取 python33.dll,将其包装为 WinRT 组件,然后调用它。它实际上已经是一个 WinRT 组件,但不公开任何 Python API。看
http://hg.python.org/sandbox/loewis/file/ee9f8c546ddd/win8app/python33
基本上,您需要做的是根据 Metro 规则编写一个 C++“shell”应用程序,然后在该 C++ 应用程序中托管 Python 解释器。再次,清理 Python 代码库,使其在 Metro 沙箱中运行。
然后,您可以更进一步,让 C++ shell 将 WinRT 库公开给 Python 环境。可能有一种方法可以让 Python 公开 WinRT 对象,但这需要大量工作。
您将无法直接从 JavaScript 调用 Python - 您需要中间有一个 WinRT 组件。
这是很多工作,并且需要在 C 语言中进行一些相当低级的工作。
你有两个选择:
将 python.exe 添加到您的 PATH 中,然后在终端中输入包含您的 test.py 的文件夹并使用当前安装运行 python.exe test.py
你可以按照这篇文章的第 1 步和第 2 步从头开始安装一个全新的 python
如果您能提供更多信息,我们可以为您提供更好的帮助。
我可以从我的 JavaScript 应用程序运行一个文件(比如桌面上的 test.py)吗?
这可能是您真正的问题,您对这句话的意思是什么?通常答案是“不,你不能”