Python SUblime Text 3 Проклятия - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь запустить файл python с именем cursesDb.py, но получаю ошибку. Этот файл импортирует библиотеку проклятий, но когда я использую возвышенный текстовый редактор, я не могу запустить свою программу, потому что в этом файле возникает ошибка: /usr/lib/python3.7/curses/__init__.py. Я использую Linux Ubuntu 19 в качестве моей ОС.

Кто-нибудь может сказать мне, как это можно исправить? Я новичок в python, именно в этих строках:

setupterm(term=_os.environ.get("TERM", "unknown")
**fd=_sys.__stdout__.fileno())**

Ошибка возникает, когда я строю ctr + b в возвышенном тексте, как показано ниже:

_curses.error: setupterm: could not find terminal

спасибо !

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Скорее всего, это связано с тем, что curses пытается определить, какой тип терминала использовать для таких вещей, как вывод цветов и манипулировать положением курсора.

Когда вы используете стандартную систему сборки в Sublime Text, все, что он делает, это захватывает вывод вашей программы и выводит его на панель; то есть это не терминал вообще. Таким образом, вероятно, нет TERM набора переменных, и даже если бы он был, он был бы бессмысленным, потому что curses не будет работать в любом случае.

Важное замечание в этом отношении заключается в том, что «тупой терминал» что Sublime использует для вывода дампов, не принимает ввод, поэтому, если ваша программа ожидает получить какие-то данные от пользователя, чтобы что-то сделать, это также не удастся.

Чтобы решить обе эти проблемы, вы может сделать что-то вроде этого:

  1. Установите пакет Terminus , который предоставляет терминал внутри Sublime
  2. Откройте файл sublime-build и добавьте следующие ключи внутри символов { } (в любом месте в порядке).

    "target": "terminus_exec",
    "cancel": "terminus_cancel_build",
    

Теперь, когда вы запустите сборку, Terminus откроет реальный терминал и запустит ваш код внутри. Это скорее среда, которую ожидает curses, и она также необходима, если ваша программа должна быть каким-либо образом интерактивной.

Более подробную информацию можно найти в этом видео о , делающем любую сборку система интерактивная с Terminus при необходимости. Это может быть особенно полезно, если вы не знаете, как найти и открыть используемый вами файл сборки.

0 голосов
/ 01 мая 2020

Я не знаю о модуле curses, но, возможно, вы не настроили возвышенный текст для правильного выполнения python. Посмотрите учебник на youtube «Как настроить систему сборки python в возвышенном тексте 3 Ubuntu», затем попробуйте. Если это все еще не работает, тогда выполните это в bash.

Помните, я могу ошибаться, я не знаю о проклятиях, но когда вы сказали, что у него была следующая ошибка:

_curses.error: setupterm: could not find terminal

Я подумал, что это может быть проблема с выполнением.

Чтобы выполнить в bash, перейдите в каталог программы, используя cd, затем введите chmod +x <filename>.py и введите python3 <filename>.py. Это может сработать, но помните, что это всего лишь предложение.

...