python-3.x macOS latest上的pyvirtual显示和xvfb

fgw7neuy  于 2023-04-08  发布在  Python
关注(0)|答案(2)|浏览(130)

上下文

我试图让一些代码在MacOS上工作。代码使用Mayavi可视化库,应该在无头服务器上运行以产生可视化。

依赖

brew install gdal
brew install xdpyinfo
brew install --cask xquartz

然后安装所需的库:

python3 -m pip install PyVirtualDisplay

但这在Github Action remote上似乎不起作用:

错误:
display = Display(visible=0, size=(1280, 1024))
/usr/local/lib/python3.9/site-packages/pyvirtualdisplay/display.py:54: in __init__
    self._obj = cls(
/usr/local/lib/python3.9/site-packages/pyvirtualdisplay/xvfb.py:44: in __init__
    AbstractDisplay.__init__(
/usr/local/lib/python3.9/site-packages/pyvirtualdisplay/abstractdisplay.py:85: in __init__
    helptext = get_helptext(program)
/usr/local/lib/python3.9/site-packages/pyvirtualdisplay/util.py:13: in get_helptext
    p = subprocess.Popen(
/usr/local/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py:951: in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
/usr/local/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py:1821: in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
E   FileNotFoundError: [Errno 2] No such file or directory: 'Xvfb'
=========================== short test summary info ============================
ERROR test_animate.py - FileNotFoundError: [Errno 2] No such file or director...
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
============================== 1 error in 27.12s ===============================
s6fujrry

s6fujrry1#

brew install --cask xquartz

# in your ~/.zshrc
export PATH=$PATH:/opt/X11/bin
ni65a41a

ni65a41a2#

按照PyVirtualDisplay定义的github工作流,解决方案是执行以下操作(对于github操作):

- name: Install MacOS dependencies
      if: startsWith(matrix.os, 'macos')
      run: |
        brew install --cask xquartz
        # https://docs.github.com/en/actions/learn-github-actions/workflow-commands-for-github-actions#adding-a-system-path
        echo "/opt/X11/bin" >> $GITHUB_PATH  
        # https://github.com/ponty/PyVirtualDisplay/issues/42
        mkdir /tmp/.X11-unix
        sudo chmod 1777 /tmp/.X11-unix
        sudo chown root /tmp/.X11-unix

相关问题