Есть ли в / proc файл устройства?

Я не Я точно не знаю, в чем проблема, но вот несколько моментов:

Среда

Мое первое предположение — это разница в среде при использовании терминала cygwin и при выполнении bash через командный файл.

При запуске из терминала cygwin выполните команду env, чтобы увидеть, что такое среда (прошло некоторое время с тех пор, как я использовал Windows, но я подозреваю, что env является частью cygwin или встроен в bash) .

Затем добавьте ту же команду в начало сценария оболочки.

#!/bin/sh
export DISPLAY=:0.0
env
python c:/users/<my directories>/<python-file>.py

Сравните две среды и посмотрите, есть ли различия.

pro-tip: вы можете записать вывод команды envв файл с env > c:/users/<ваши каталоги>/env1.txt(затем используйте env2.txtиз вашего сценария оболочки), а затем сравните их с помощью инструмента командной строки diff. то есть diff env1.txt env2.txt.

Интерпретатор

Следующее, что связано, но какой интерпретатор Python выполняется в каждом случае.В вашей системе установлен только один Python? Или может у вас их несколько. Например, вы устанавливали и через cygwin, и через anaconda?

Если у вас их несколько, проверьте, какая версия выполняется с помощью , какой pythonв каждом случае.

Инструментарий графического интерфейса

Какой инструментарий графического интерфейса вы используете. Я не знаком с API winfo_screenwidth(). Предположительно это обеспечивается какой-то библиотекой/пакетом, который вы используете. Какой это пакет?

Я не уверен насчет мира windows/cygwin, но в мире linux программа может определить, является ли stdinтерминалом. Набор инструментов, который вы используете, может вести себя по-разному в обоих случаях. Если это так, документация по набору инструментов поможет найти эту информацию.

Кроме того, у IIRC есть два способа запуска программы в Windows. Есть стандартный способ, т.е. int main()и способ с графическим интерфейсом (в данном случае я не помню название основной функции). Я помню, что для некоторых интерпретируемых языков существуют разные двоичные файлы интерпретатора в зависимости от того, какую точку входа вы хотели. Графический интерфейс может начинаться или заканчиваться w. Например, я думаю, что javaw.exe— это версия графического интерфейса, а java.exe— консольная версия (для java). Есть ли аналог Python в Windows?

0
27.09.2017, 23:17
1 ответ

На самом деле нет. /proc — это файловая система специального назначения, которая предоставляет вам доступ для чтения/изменения некоторых параметров ядра. Он действует как интерфейс к внутренним структурам данных в ядре. Его можно использовать для получения информации о системе и для изменения определенных параметров ядра во время выполнения с помощью sysctl.

https://en.wikipedia.org/wiki/Procfs

1
28.01.2020, 02:33

Теги

Похожие вопросы