2015-12-02 49 views
2

我正在開發一個Python遊戲,我想實現一個系統,用戶可以選擇是否要從git接收自動更新,如果他們這樣做,如果他們想要從「穩定」分支或「測試」分支更新。從git的Python自我更新

有沒有一個簡單的方法來做到這一點,如允許python訪問git的庫?我想避免必須建立一個可以通過ftp發送文件的Web主機,當我擁有一個已經擁有我需要的所有代碼的git存儲庫時。我更喜歡一種不需要用戶在遊戲之外安裝git的方式,但是如果我必須要求git來允許更新,我對它沒有問題。

如果有幫助,我們可以假設遊戲的更新程序是獨立的,並且永遠不需要自行更新。

回答

1

pip可以直接從git安裝(如果需要,可以選擇分支,標籤)。 pip與最新的Python版本(2.7.9 +,3.4+)捆綁在一起。

  • 更新程序例如爲:

    subprocess.check_call([sys.executable, '-m', 'pip', 'install', '-U', 
         'git+...uri...#egg=your_package']) 
    
  • 重新啓動:

    os.execv(sys.executable, sys.argv + ['--updated']) 
    

請注意:這是非常簡單的。查看其他具有類似要求的程序如何執行此操作。