Python有一個win32service
包似乎允許創建Windows服務。我已經仔細地檢查可用的谷歌實例,例如此一: Is it possible to run a Python script as a service in Windows? If possible, how?是否有可能使用Python編寫Windows服務?
我已經把代碼放入~/Documents/test.py
並執行在升高的命令提示以下:
> python test.py install
> python test.py debug
不幸的是,我試圖每個實例失敗,錯誤:
Debugging service TestService - press Ctrl+C to stop.
Error 0xC0000005 - Python could find the service class in the module
AttributeError: 'module' object has no attribute 'AppServerSvc'
(null): (null)
我已經在Windows 7 64位和Windows 8 64位上用最新版本的ActivePython(2.7.2.5 32位)對它進行了測試。當然,如果服務是通過服務管理器進行的,它也不會啓動。
我做錯了什麼或Python不打算用於現代操作系統上的服務創建?也許我需要一個特定版本的Windows/python/pywin32?當然,我可以手動測試從Windows XP開始的所有組合,但它會花費很多時間:(也許有人已經有Python和Windows服務的經驗,並可以暗示我在做什麼錯了嗎?
update
測試在Windows XP 32位虛擬MACINE(相同的代碼,同一ActivePython分發) - 同樣的錯誤
我幾乎可以肯定你得到的錯誤是一個與模塊位置有關的微不足道的編碼錯誤。請發佈初始化「AppServerSvc」的代碼[可重現的示例](http://sscce.org)。此外,標題的明顯答案是肯定的,你甚至鏈接到重複。 – phihag
@phihag我發佈了用於重現問題的命令行,以及與操作系統版本一起完整的源代碼。 「可重現的例子」需要哪些其他信息? – grigoryvp
一個可重複的例子是任何人都可以運行的完整代碼,*重現*你的問題(即足夠的代碼,以便* I *可以鍵入'python test.py debug')。在你的情況下,它至少是'test.py',加上你存儲已定義的'class AppServerSvc'的文件。 – phihag