Python 3.7.1 в Ubuntu 18.04.2 LTS
Использование версии Pycharm:
PyCharm 2019.1.3 (Professional Edition)
Build #PY-191.7479.30, built on May 30, 2019
Linux 4.18.0-22-generic
У меня проблемы с вызовом функции os.get_terminal_size()
Запуск команды из окна терминала работает:
Python 3.7.1 (default, Oct 22 2018, 11:21:55)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.get_terminal_size()
os.terminal_size(columns=223, lines=18)
Но запуск его из окна консоли Python не
>>>import os
>>>os.get_terminal_size()
Traceback (most recent call last):
File "<input>", line 1, in <module>
OSError: [Errno 25] Inappropriate ioctl for device
Мой гуглинг не дал много информации, относящейся к моей проблеме. Что на самом деле означает OSError: [Errno 25] Inappropriate ioctl for device и как это исправить?





Ваша реализация Python полагается на то, что терминал соответствует запросу ОС на размер терминала. В реализация CPython системный вызов в ioctl() завершится ошибкой, поскольку устройство (терминал) не распознает команду. Вы можете попробовать установить
-Drun.processes.with.pty=true
в Help/Edit Custom VM Options... согласно ответу это.
Вместо os можно использовать shutil. Это работает без каких-либо заминок в Pycharm (и, надеюсь, в более широком смысле, в IntelliJ).
import shutil
terminal_size = shutil.get_terminal_size(fallback=(120, 50))
# attributes
print('cols=', terminal_size.columns)
print('rows=', terminal_size.rows)