0

Minimal reproducible example:

File should be named test_something.py

import psutil
import xlwings

def test() -> None:
    wb = xlwings.Book("Book1.xlsm")  # it's an empty .xlsm file that you can create yourself
    sheet_results = wb.sheets("Sheet1")
    sheet_results.api.Copy(None, After=sheet_results.api)

    assert 1 == 1

    wb.close()
    for proc in psutil.process_iter():
        if proc.name() == "EXCEL.EXE":
            proc.kill()

Then go to the terminal and run pytest.

The following error appears:

unit_tests\test_eplet_conversion.py Windows fatal exception: code 0x800706be

Current thread 0x000046cc (most recent call first):
  File "C:\Users\lhott\Documents\Formation scolaire\These\Travail\SagaGL\SAgA\SAgA 1.00\src\viewers\BasicAntibodyAnalysisViewer\unit_tests\test_eplet_conversion.py", line 27 in test_eplet_conversion
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\python.py", line 192 in pytest_pyfunc_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\python.py", line 1761 in runtest
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 166 in pytest_runtest_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 259 in <lambda>
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 338 in from_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 258 in call_runtest_hook
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 219 in call_and_report
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 130 in runtestprotocol
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 111 in pytest_runtest_protocol
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 347 in pytest_runtestloop
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 322 in _main
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 268 in wrap_session
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 315 in pytest_cmdline_main
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\config\__init__.py", line 164 in main
  File "C:\Users\lhott\Documents\Formation scolaire\These\Travail\SagaGL\SAgA\SAgA 1.00\src\viewers\BasicAntibodyAnalysisViewer\unit_tests.py", line 3 in <module>
Windows fatal exception: code 0x800706ba

Current thread 0x000046cc (most recent call first):
  File "C:\Users\lhott\Documents\Formation scolaire\These\Travail\SagaGL\SAgA\SAgA 1.00\src\viewers\BasicAntibodyAnalysisViewer\unit_tests\test_eplet_conversion.py", line 27 in test_eplet_conversion
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\python.py", line 192 in pytest_pyfunc_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\python.py", line 1761 in runtest
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 166 in pytest_runtest_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 259 in <lambda>
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 338 in from_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 258 in call_runtest_hook
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 219 in call_and_report
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 130 in runtestprotocol
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 111 in pytest_runtest_protocol
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 347 in pytest_runtestloop
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 322 in _main
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 268 in wrap_session
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 315 in pytest_cmdline_main
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\config\__init__.py", line 164 in main
  File "C:\Users\lhott\Documents\Formation scolaire\These\Travail\SagaGL\SAgA\SAgA 1.00\src\viewers\BasicAntibodyAnalysisViewer\unit_tests.py", line 3 in <module>
Windows fatal exception: code 0x800706ba

Current thread 0x000046cc (most recent call first):
  File "C:\Users\lhott\Documents\Formation scolaire\These\Travail\SagaGL\SAgA\SAgA 1.00\src\viewers\BasicAntibodyAnalysisViewer\unit_tests\test_eplet_conversion.py", line 27 in test_eplet_conversion
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\python.py", line 192 in pytest_pyfunc_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\python.py", line 1761 in runtest
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 166 in pytest_runtest_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 259 in <lambda>
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 338 in from_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 258 in call_runtest_hook
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 219 in call_and_report
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 130 in runtestprotocol
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 111 in pytest_runtest_protocol
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 347 in pytest_runtestloop
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 322 in _main
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 268 in wrap_session
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 315 in pytest_cmdline_main
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\config\__init__.py", line 164 in main
  File "C:\Users\lhott\Documents\Formation scolaire\These\Travail\SagaGL\SAgA\SAgA 1.00\src\viewers\BasicAntibodyAnalysisViewer\unit_tests.py", line 3 in <module>
Windows fatal exception: code 0x800706ba

Current thread 0x000046cc (most recent call first):
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\python.py", line 192 in pytest_pyfunc_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\python.py", line 1761 in runtest
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 166 in pytest_runtest_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 259 in <lambda>
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 338 in from_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 258 in call_runtest_hook
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 219 in call_and_report
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 130 in runtestprotocol
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 111 in pytest_runtest_protocol
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 347 in pytest_runtestloop
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 322 in _main
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 268 in wrap_session
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 315 in pytest_cmdline_main
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\config\__init__.py", line 164 in main
  File "C:\Users\lhott\Documents\Formation scolaire\These\Travail\SagaGL\SAgA\SAgA 1.00\src\viewers\BasicAntibodyAnalysisViewer\unit_tests.py", line 3 in <module>
Windows fatal exception: code 0x800706ba

Current thread 0x000046cc (most recent call first):
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\python.py", line 192 in pytest_pyfunc_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\python.py", line 1761 in runtest
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 166 in pytest_runtest_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 259 in <lambda>
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 338 in from_call
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 258 in call_runtest_hook
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 219 in call_and_report
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 130 in runtestprotocol
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\runner.py", line 111 in pytest_runtest_protocol
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 347 in pytest_runtestloop
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 322 in _main
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 268 in wrap_session
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\main.py", line 315 in pytest_cmdline_main
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Users\lhott\AppData\Local\Programs\Python\Python310\lib\site-packages\_pytest\config\__init__.py", line 164 in main
  File "C:\Users\lhott\Documents\Formation scolaire\These\Travail\SagaGL\SAgA\SAgA 1.00\src\viewers\BasicAntibodyAnalysisViewer\unit_tests.py", line 3 in <module>

I'm using Python 3.10.2 and psutil==5.9.2.

I've also tried on Python 3.11.0 and psutil==5.9.3.

https://wetransfer.com/downloads/2a6ca73f11efe16f0b6bc9fc15d7e35f20221105233047/8ef650 for my files (minimal reproducible example)

  • 2
    Why are you manually killing the processes? Can you not do this or are you actually testing something about this? If so, yeah you’ll need to handle some nasty multiprocessing hard crashes in your test. – Michael Delgado Sep 11 '22 at 15:48
  • Because wb.close() closes the workbook but not the EXCEL.EXE process. And I don't want a useless process hanging around after using pytest. – FluidMechanics Potential Flows Sep 11 '22 at 16:19
  • 2
    Does app.quit() do the trick? See e.g. https://stackoverflow.com/questions/56045634/excel-application-window-not-closing-on-workbook-close – Michael Delgado Sep 11 '22 at 16:27
  • This one also seems like a good one: https://stackoverflow.com/questions/41089223/i-cannot-close-excel-2016-after-executing-a-xlwings-function – Michael Delgado Sep 11 '22 at 16:29
  • It does fix the problem but sometimes there is a residual EXCEL.EXE process that stays. And that kinda bothers me. But maybe that's the only solution because `psutil` doesn't work with `pytest`? Apparenttly `app.kill()` solves that but I'm not sure. EDIT: `app.kill()` raises the same weird stuff. – FluidMechanics Potential Flows Sep 11 '22 at 18:47
  • 1
    Use a context manager to avoid zombie Excel processes. See mouwsy's answer in this question https://stackoverflow.com/questions/73315513/using-xlwings-to-update-excel-file-from-python-oserror-winerror-2147467259/73322317#73322317 – moken Sep 12 '22 at 02:06
  • There aren't any errors though, I don't think I have zombie Excel processes because of errors but just because I open / close millions of excel and sometimes for some reason, some zombie Excel processes appear. Unless a context manager is sure to be clearing it? – FluidMechanics Potential Flows Sep 14 '22 at 09:45
  • Coders using Xlwings have had issues with zombie processes being left after the program has run even when explicitly closing the wb. The context manager __exit__ will clean up the instance and should avoid this happening. I guess I can't grantee 0 issues but more likely you wont have any unwanted Excel instances running on the server. – moken Sep 17 '22 at 09:36
  • What's weird is that despite all the errors, everything goes through (the processes are killed, the test tests what has to be tested, etc.) – FluidMechanics Potential Flows Sep 17 '22 at 11:58

1 Answers1

0

Looks like you want to kill processes of "EXCEL.EXE". So, simply try using:

import psutil

for proc in psutil.process_iter():
    if proc.name() == "excel.exe": #not "EXCEL.EXE" it is not caps but small
        proc.kill()
The Myth
  • 1,090
  • 1
  • 4
  • 16