2016-06-05 2 views
0

Я могу проверить на Linux/Windows/cygwin/etc. с sys.platform, но на WINE он просто сообщает «win32».Определить, работает ли программа python на WINE

Я пытаюсь написать многоплатформенное приложение, использующее pyserial, и я использую WINE для тестирования настройки среды Windows. В Windows последовательные порты называются COMxx, но в Linux они/dev/ttyxxx. Однако на WINE последовательные порты имеют имена Linux. Мне нужно определить, работает ли он на WINE отдельно от Windows, поэтому я могу справиться с этим правильно.

+1

Похоже, вы могли проверить (через 'try/except'), были ли последовательные порты Linux, когда' sys.platform' был '' win32'', чтобы иметь возможность сказать разницу. – martineau

ответ

0

Прежде всего, и это непроверено, попробуйте создать символическую ссылку из .wine/dosdevices/COM1 в/dev/ttyS0. Он должен просто позволить вам открыть COM-порт способом Windows.

Если, однако, вы решили узнать, работаете ли вы в Wine, «официальным» способом является проверка наличия ключа реестра «HKEY_LOCAL_MACHINE \ Software \ Wine».

В любом случае, если открытие COM1 не работает на Wine, это ошибка и должна быть подана с помощью Wine bugzilla.

Смежные вопросы