首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取nox中的站点包目录

获取nox中的站点包目录
EN

Stack Overflow用户
提问于 2021-02-12 21:00:32
回答 2查看 54关注 0票数 0

在tox中,我可以使用神奇的envsitepackagesdir变量进行get the site-packages directory of the current environment。我如何在nox中做同样的事情?这在试图获得我的包的覆盖范围时特别有用。

代码语言:javascript
复制
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')
EN

回答 2

Stack Overflow用户

发布于 2021-02-14 10:06:14

只要您实际安装的是nox环境(不使用venv_backend='none'),就可以从虚拟环境和platform.sys的位置计算该值

代码语言:javascript
复制
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')
票数 0
EN

Stack Overflow用户

发布于 2021-02-15 08:31:50

envsitepackagesdir实际上并不是覆盖范围所必需的。您可以将模块名称传递给--covcoverage将在导入该模块的任何位置计算该模块的覆盖率:

代码语言:javascript
复制
import nox

@nox.session()
def test(session):
    session.install('.')
    session.install('pytest', 'pytest-cov')
    session.run('pytest', '--cov', 'mypackage')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66172351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档