9

Windows應用商店的應用程序Python 3 For Metro聲稱,它允許用戶編輯和運行Python文件(我不能得到它的工作)。這在沙箱內如何實現?我可以從我的JavaScript應用程序運行一個文件(在桌面上說test.py)嗎?的Python在Windows Store應用程序

+0

你的意思是[這一個](http://apps.microsoft.com/windows/en-us/app/python-3-for-metro/82f0c953-93d4-461c-893f- c298b0d919d2)?如果沒有,請提供一個鏈接。 – poke

+0

是的,這就是我正在談論的應用程序。感謝您的鏈接。 –

回答

15

這怎麼可能從沙盒中?

我已經將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

-2

你有兩個選擇:

  • 附加python.exe到PATH,並從終端內,輸入包含您的test.py的文件夾,然後運行python.exe test.py,使用您的當前安裝

  • 你可以遵循的this post第一步和第二步,從頭

安裝一個全新的Python如果你能提供一些更多的Informa公司我們可以幫助你更好。

我可以從我的JavaScript應用程序運行一個文件(比如桌面上的test.py)嗎?

這可能是你真正的問題,你這個說法是什麼意思?一般的答案是「不,你不能」

+0

我從桌面運行Python文件沒有問題。我是一名Python開發人員。我想要做的就是從Metro應用程序調用python文件。我最初認爲這是不可能的,但「Python 3 for Metro」正在以某種方式做它。 –

1

基本上,你需要做的是寫一個C++根據地鐵規則「殼」的應用程序,然後主機是C++應用程序內部的Python解釋器。再次,清理Python代碼庫,以便它在Metro沙箱中運行。

然後,您可以更進一步,並有C++外殼暴露WinRT的庫添加到Python環境。可能有辦法讓Python暴露WinRT對象,但這將是很多工作。

你將不能夠直接從JavaScript調用成Python - 你需要一個WinRT的成分在中間。

這是一個大量的工作,並要求C.一些相當低級別的工作

相關問題