python - 在 nox 中获取站点包目录
问题描述
在tox中,我可以通过magic变量获取当前环境的site-packages目录。envsitepackagesdir
我该如何做同样的事情nox
?这在尝试覆盖我的包裹时特别有用。
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')
推荐阅读
- javascript - 使用javascript将两个值与动态行进行比较
- c# - 在 UWP C# 中使用程序集重定向
- python - 如何在 Windows 上的 python 中安装 METIS 包?
- python - 如何处理读取包含多种语言的文件时的错误
- c - BlueZ D-Bus C , 应用 BLE
- spring - Dockerized Spring boot 和 Zuul
- reactjs - Web 进程未能绑定到 $PORT
- autofixture - 在 AutoFixture 中自定义匿名序列的创建
- keras - 使用来自 Keras 应用程序的模型,无需预训练权重
- android - Xamarin Android BottomBarBadge 无法正确显示 100+ 的计数