Как установить мой драйвер mesa в скрипте Python?

#python #linux

#python #linux

Вопрос:

Я должен вызвать MATLAB с помощью «env MESA_LOADER_DRIVER_OVERRIDE=i965» в bash, чтобы использовать аппаратный рендеринг opengl. Я использую плагин neovim, который запускает сервер MATLAB с помощью скрипта Python. Строка

 self.proc = Popen(["matlab", "-nosplash", "-nodesktop"], stdin=PIPE,
                              close_fds=True, preexec_fn=os.setsid)
  

Я попытался установить глобальные системные переменные среды и вставить это как

 self.proc = Popen(["env MESA_LOADER_DRIVER_OVERRIDE=i965", "matlab", "-nosplash", 
"-nodesktop"], stdin=PIPE, close_fds=True, preexec_fn=os.setsid)
  

а также пробовал

 os.environ['LD_LIBRARY_PATH'] = 'env MESA_LOADER_DRIVER_OVERRIDE=i965'
  

Ни один из них не работает. Я никогда не работал с Python и просто хотел бы заставить MATLAB работать по-настоящему.

Ответ №1:

Popen принимает env параметр. Просто поместите туда необходимые переменные:

 env = os.environ.copy()
env['MESA_LOADER_DRIVER_OVERRIDE'] = 'i965'

self.proc = Popen(["matlab", "-nosplash", "-nodesktop"], stdin=PIPE,
                          close_fds=True, preexec_fn=os.setsid, env=env)
  

Комментарии:

1. Спасибо! Тем временем я обнаружил, что могу поместить: «env», «MESA_LOADER_DRIVER_OVERRIDE=i965», «matlab»,…