一千萬個為什麽

搜索

是否可以在Pygradle中設置最低的Python版本?



Pygradle is used to build a python project.

問題</強>

問題在於CI運行不同的Python版本,導致不同的構建結果,例如在筆記本電腦上構建成功,但在CI上失敗。

CI

============================= test session starts ==============================
platform linux -- Python 3.6.3, pytest-2.9.1, py-1.4.29, pluggy-0.3.1
rootdir: /home/travis/build/user/project, inifile: 
plugins: cov-2.2.1
collected 1 items

筆記本

============================= test session starts ==============================
platform linux2 -- Python 2.7.5, pytest-2.9.1, py-1.4.29, pluggy-0.3.1
rootdir: /home/user/dev/project, inifile: 
plugins: cov-2.2.1
collected 1 items

討論</強>

為了確保構建在CI和筆記本電腦上本地都失敗,應該使用相同的Python版本。

問題</強>

是否可以在Pygradle中設置最低的Python版本?

轉載註明原文: 是否可以在Pygradle中設置最低的Python版本?

一共有 1 個回答:

附註:我個人不喜歡使用 minimum 版本:您從不知道語言將如何發展,以及某個未來版本是否仍然與您的代碼兼容。例如,許多2.7兼容的腳本實際上不能與python 3.X一起工作,設置2.7,因為最低版本不會削減它。

我更願意明確列出允許我測試並確認兼容的(現有)版本。任何未來的版本可以在稍後獲得確認後添加。

如果您同意以上所述,那麽 com.linkedin .python 顯然可以執行這樣的版本檢查(它看起來不像它支持 minimum 版本):

默認和允許的Python版本

     

這個插件強制執行一組默認和允許的Python版本。對於   例如,你可以指定 pythonVersion ='3',你會得到   無論默認的Python 3版本是什麽。同樣, pythonVersion =   '2'可以讓你得到任何默認的Python 2版本。

     

這個插件還強制執行一組允許的Python版本。如果你   選擇一個不允許的Python版本,你會看到一個錯誤   消息如:

  Python 3.2不允許;從[2.6,2.7,3.4,3.5,3.6]中選擇
</代碼> 
     

如果您看到此錯誤訊息,您必須調整您的 pythonVersion   設置為其中一個允許的值。

     

這個擴展的使用者可以改變默認的Python 2,Python 3,   並通過在 PythonDetails 對象上進行調用來允許版本,   或者是由 PythonExtension.getDetails()或任何返回的   您創建的 PythonDetails 實例,例如在Groovy中:

 pythonDetails.setPythonDefaultVersions('2.7','3.6',['2.7','3.5','3.6'])
</代碼> 

但我對pygradle並不熟悉,我無法確切知道插件是如何工作和/或被配置為執行這項工作的。