Closed
Description
Hey!
As the title says, when I try to skip a task marked with pytask.mark.latex
, I get an error unless latexmk
is installed. I imagine you already know this, but I've included a use case and an MRE below, nevertheless.
Use Case
I run/develop a project on multiple machines and want to skip latex
- related tasks on some of them; and I do not want to install latexmk
on them.
MRE
Using pytask
's conftest.py
:
from pytask import cli, ExitCode
import textwrap
def test_pytask(runner, tmp_path, monkeypatch):
source = """
from pathlib import Path
from pytask import mark
@mark.skip()
@mark.latex(script=Path("document.tex"), document=Path("document.pdf"))
def task_compile_latex_document():
pass
"""
# Works with latexmk in PATH.
tmp_path.joinpath("task_module.py").write_text(textwrap.dedent(source))
result = runner.invoke(cli, [tmp_path.as_posix()])
assert result.exit_code == ExitCode.OK
# Fails with latexmk removed from PATH.
monkeypatch.setenv("PATH", "")
tmp_path.joinpath("task_module.py").write_text(textwrap.dedent(source))
result = runner.invoke(cli, [tmp_path.as_posix()])
assert result.exit_code == ExitCode.FAILED
# Print error message
print(result.stdout)
Versions
- pytask: 0.5.1
- pytask-latex 0.4.2
- python: 3.13
Metadata
Metadata
Assignees
Labels
No labels