[英]Get site-packages directory in nox
在 tox 中,我可以使用envsitepackagesdir
魔術變量獲取當前環境的 site-packages 目錄。 我如何在nox
中做同樣的事情? 這在嘗試覆蓋我的 package 時特別有用。
import nox
@nox.session()
def test(session):
session.install('.')
session.install('pytest', 'pytest-cov')
session.run('pytest', '--cov', f'{session.virtualenv.site_packages_dir}/mypackage')
只要您實際安裝的是 nox 環境(不使用venv_backend='none'
),您就可以根據虛擬環境和platform.sys
的位置來計算:
import nox
@nox.session()
def test(session):
if platform.system() == "Windows":
site_packages = f'{session.virtualenv.location}/Lib/site-packages'
else:
site_packages = f'{session.virtualenv.location}/lib/python{session.python}/site-packages'
session.install('.')
session.install('pytest', 'pytest-cov')
session.run('pytest', '--cov', f'{site_packages}/mypackage')
envsitepackagesdir
實際上並不是覆蓋所必需的。 您可以將模塊名稱傳遞給--cov
並且coverage
將計算該模塊的覆蓋率,無論它被導入到哪里:
import nox
@nox.session()
def test(session):
session.install('.')
session.install('pytest', 'pytest-cov')
session.run('pytest', '--cov', 'mypackage')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.