obsidian_love/組織/EverfortuneAI/{Note} Nox.md

1.2 KiB
Raw Blame History

author date category tags
deng 20250109 Note
Python
Nox
FlexibleTest
Versioning

cover image resource

  • Abstract
    • 在將Python專案打包時會遇到填寫依賴套件及其版本的問題開發者必須逐一測試Python版本與依賴套件版本之間甚至是跨平台不同組合的可運行性而Nox正是為了可以將此流程自動化而生
  • Steps
    1. 在虛擬環境中安裝Noxpip install nox
    2. 在Package資料夾中產生noxfile.py 並撰寫測試程式碼範例程式碼可見Note
    3. 於終端機輸入nox 開始進行測試
  • Note
    • 以下為noxfile.py範例程式碼(透過環境是否能順利執行單元測試來判別套件之間的匹配性)
# noxfile.py
#
# author: deng
# date : 20250110

import nox  


@nox.session(python=['3.10', '3.11', '3.12'])
@nox.parametrize('numpy', ['1.26', '2.0'])
@nox.parametrize('scikit_learn', ['1.5', '1.6'])
def test_flexibility(session, numpy, scikit_learn):

    # Install package dependencies
    session.install(f'numpy=={numpy}')
    session.install(f'scikit-learn=={scikit_learn}')

    # Test
    session.install('pytest')
    session.run('pytest')