Зомби-процесс, работающий с xlwings

Я получаю сообщение об ошибке Python при попытке использовать xlwings. Простого импорта xlwings кажется достаточно, чтобы вызвать проблему.

Lewis-MacBook-Air:~ lewis$ python
Python 2.7.10 |Anaconda 2.3.0 (x86_64)| (default, Oct 19 2015, 18:31:17) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import xlwings
>>> xlwings.__version__
'0.6.0'
>>> exit()
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/Users/lewis/anaconda/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "/Users/lewis/anaconda/lib/python2.7/site-packages/xlwings/_xlmac.py", line 47, in clean_up
    if is_excel_running():
  File "/Users/lewis/anaconda/lib/python2.7/site-packages/xlwings/_xlmac.py", line 98, in is_excel_running
    if proc.name() == 'Microsoft Excel':
  File "/Users/lewis/anaconda/lib/python2.7/site-packages/psutil/__init__.py", line 539, in name
    cmdline = self.cmdline()
  File "/Users/lewis/anaconda/lib/python2.7/site-packages/psutil/__init__.py", line 592, in cmdline
    return self._proc.cmdline()
  File "/Users/lewis/anaconda/lib/python2.7/site-packages/psutil/_psosx.py", line 209, in wrapper
    raise ZombieProcess(self.pid, self._name, self._ppid)
ZombieProcess: psutil.ZombieProcess process still exists but it's a zombie (pid=71)
Error in sys.exitfunc:
Traceback (most recent call last):
  File "/Users/lewis/anaconda/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "/Users/lewis/anaconda/lib/python2.7/site-packages/xlwings/_xlmac.py", line 47, in clean_up
    if is_excel_running():
  File "/Users/lewis/anaconda/lib/python2.7/site-packages/xlwings/_xlmac.py", line 98, in is_excel_running
    if proc.name() == 'Microsoft Excel':
  File "/Users/lewis/anaconda/lib/python2.7/site-packages/psutil/__init__.py", line 539, in name
    cmdline = self.cmdline()
  File "/Users/lewis/anaconda/lib/python2.7/site-packages/psutil/__init__.py", line 592, in cmdline
    return self._proc.cmdline()
  File "/Users/lewis/anaconda/lib/python2.7/site-packages/psutil/_psosx.py", line 209, in wrapper
    raise ZombieProcess(self.pid, self._name, self._ppid)
psutil.ZombieProcess: psutil.ZombieProcess process still exists but it's a zombie (pid=71)
Lewis-MacBook-Air:~ lewis$ 

Вызов python из Excel с помощью Workbook.caller() работает нормально.

Я использую El Capitan 10.11.2 (бета-версия 5).

Любые советы приветствуются.


person LEJ    schedule 04.12.2015    source источник


Ответы (1)


Похоже, что это вызвано версией 3.3.0 из psutil, как указано здесь.

На данный момент понижение до pip install psutil==3.2.2 должно помочь, пока это не будет исправлено.

обновление: исправлено в версии 0.6.1.

person Felix Zumstein    schedule 04.12.2015