我在使用 Windows 上的 pyinstaller 将带有 pytest_html 模块的 pytest 打包到可执行文件时遇到问题。
使用 Python 运行它时它确实可以工作,但我需要将它打包为 exe。
我的示例代码:
import pytest
import pytest_html
def test_hello():
assert True
pytest.main(["-p", "pytest_html","-vvv", "--capture=tee-sys","--html=report.html", __file__])
也与
pytest.main(["-vvv","--html=report.html", __file__], plugins=[pytest_timeout])
我正在运行的 Pyinstaller 命令是:
pyinstaller --noconfirm --onefile --nowindow --exclude-module PyQt5 --log-level DEBUG -n py_exe file.py
还尝试将其添加为隐藏模块,但没有成功。
我得到的结果是:
error: unrecognized arguments: --html=report.html
查看 Analysis-00.toc,我可以看到模块:
('pytest_html', 'c:\\users\\nathan\\appdata\\local\\programs\\python\\python38-32\\lib\\site-packages\\pytest_html\\__init__.py', 'PYMODULE')
版本:Windows 10、Python 3.8.3、pytest 5.4.3、pytest-html 2.1.1、pyinstaller 3.6
编辑:问题已修复,请参阅https://github.com/pyinstaller/pyinstaller/issues/5016