簡體   English   中英

如何在沒有安裝Python的情況下在Windows服務器上運行Python程序?

[英]How to run a Python program on a Windows server without having Python installed?

所以我寫了一個Python腳本,它做了一些簡單的事情。 它最初是在Unix服務器上運行但由於TPTB拒絕改變的網絡安全設置糟糕,我們需要在Windows服務器上運行它。 但是,所述Windows服務器的管理員拒絕做任何有用的事情,比如安裝Python。

在沒有Python的情況下在Windows上運行Python腳本有哪些選擇?

考慮1:

Py2Exe之類的東西 - 我在谷歌快速搜索后發現了這一點,看起來很有希望。 據我所知,它會生成一堆文件,但我們只能將該目錄復制到我們的Windows機器上,它將完全隔離,並且沒有任何外部依賴關系。 有沒有人對這種有效的方法有任何見解? 顯然,它取決於我的Python腳本,但幸運的是這個腳本非常簡單,只使用內置的Python庫,如urllib2和urlparse。

考慮2:

我們可以假設Windows服務器至少安裝了一些版本的.NET Framework,這讓IronPython充滿了想法。 我以前從未使用過這個,但我一直都想這樣做。 據我所知,它將Python代碼編譯成符合CLS的IL代碼,可以在.NET運行時本機運行。 但是,這是否需要在服務器上安裝其他.NET庫? 我可以將這些DLL與我的程序捆綁在一起嗎? 或者,它是否需要重寫我的Python腳本以調用特定於.NET Framework的類而不是使用urllib2或urlparse之類的東西?

謝謝!

PS - 具有諷刺意味的部分:我實際上幾乎不懂Python而且我是.NET專家,但是我用Python編寫了腳本,因為我被告知它會在Unix服務器上運行。 如果我知道我們最終會在Windows服務器上運行它,我已經在C#中用大約1/10的時間開始編寫了這個東西。 失敗。

他們會讓你將可執行文件復制到服務器上嗎? 如果是這樣,那么你應該能夠進行非管理員安裝Python或使用可以只復制到文件夾而不需要任何安裝的可移植Python

Py2exe沒有任何問題,但它確實意味着您每次更新時都必須將腳本構建為新的可執行文件。 另外Py2exe的啟動時間比Python解釋器略長,因為它必須在每次運行時將Python dll提取到一個臨時文件夾中; 當然,如果你經常運行你的腳本,那也很重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM