TL; DR我需要一個模塊,它會自動更新我的腳本在後臺,靜靜地。自動更新python腳本
我有一個Python腳本,我分發給用戶。我經常更新這個,然後讓他們更新它(通過PIP)。很明顯,對於只想使用該應用的用戶而言,這不是一個高優先級,而不是考慮更新它。
我希望它自動更新我的應用程序,就像Google Chrome自動在後臺自動更新一樣。有沒有圖書館可以讓我做到這一點?如果沒有,是否有直接的方式使用PIP /分配模塊來完成它?
TL; DR我需要一個模塊,它會自動更新我的腳本在後臺,靜靜地。自動更新python腳本
我有一個Python腳本,我分發給用戶。我經常更新這個,然後讓他們更新它(通過PIP)。很明顯,對於只想使用該應用的用戶而言,這不是一個高優先級,而不是考慮更新它。
我希望它自動更新我的應用程序,就像Google Chrome自動在後臺自動更新一樣。有沒有圖書館可以讓我做到這一點?如果沒有,是否有直接的方式使用PIP /分配模塊來完成它?
要做到這一點,最簡單的方法是設置一個腳本在運行時腳本運行的Web服務。 Web服務可以返回一個版本號,腳本可以根據版本號檢查版本號。如果版本號更高,它可以自行更新並重新運行。
當然,我想到了這一點,並建立了一半的原型。但事情變得有點複雜 - 如果它變得比腳本更多,如果它具有依賴關係等等,這就是爲什麼我認爲它應該可能使用PIP。 –
我以前用簡單的腳本Wilduck成功地使用了這種技術。保羅是正確的,它確實存在依賴問題。 – syrion
我試過用BitRock來開發我正在開發的開源應用程序。他們爲具有自動更新的應用程序提供跨平臺安裝程序。如果您的應用程序是開源的,但許可證是免費的,但商業產品需要購買許可證。如果你的應用程序很小,這可能是過度的,但我想我仍然會把它作爲一個選項。
如果pip install已經適合你,爲什麼你不能在腳本啓動時執行os.system("pip install -U myscript")
?這有點骯髒,但通過點子分發給非開發人員也是如此。
fyi - pip使用sudo/admin privs安裝到系統目錄中,因此用戶可能沒有更新的權限 – jterrace
它可以用於安裝在用戶的homedir中(比如說我的〜/ .myCLIapp /下)嗎?在最壞的情況下,我肯定可以安裝virtualenv? –