LINUX.ORG.RU

Kdevelop не подходит для новичков и «консольщиков»

 , , , ,


0

1

Решил попробовать Kdevelop. Повелся на рекламу поддержки Python.

Начал новый проект, там даже отдельные темплейты для питона есть - Simple Qt GUI или Simple Python App (без графики).

Ну думаю, щас запилю простенький скрипт со вводом с клавиатуры, как полагается. А нихрена! Оказалось, в Kdevelop не поддерживается ввод с клавиатуры. Я такой «штооооооо???»

Обычная питоновская функция input() просто не работает в Kdevelop. Невозможно написать даже простенький консольный скрипт со вводом с клавиатуры. Я бы понял, если бы это была пре-альфа версия IDE, но она разрабатывается уже 21 год, а поддержка питона добавлена примерно 5 лет назад…

Эта IDE совершенно не подходит для новичков и программистов, которые пишут консольные программы, в которых нужно что-то вводить с клавиатуры. Это IDE исключительно для тех, кто шлепает формочки.


По сути (уже прочел на другом форуме) это IDE затевалась как аналог Qt Creator, и поддержка всего скриптового и консольного в ней никакая.

utrack
() автор топика
Ответ на: комментарий от chenbr0

Знаю… Но как хотелось нативный и легковесный Kdevelop. А в моей предыдущей теме какой-то чувак меня убеждал, что это я неправ. Не разработчики IDE, которые заявили о поддержке питона, впихнули готовый темплейт консолького питон-приложения, как бы намекая, что в их IDE можно писать консольные приложения - а я виноват, что повелся и, гад такой, возжелал что-то с клавиатуры ввести…

utrack
() автор топика
Ответ на: комментарий от utrack

Пойми, твои хелворлные теплейты никому не нужны. В ide надо код писать а не хелворды, и для написания кода в KDevelop все есть, не только для питона, а из скриптухи еще и для php как минимум.

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

А выбрать внешний терминал в настройках запуска запрещает религия?

Уже в прошлой теме объяснял...

Заходим в Launch Configurations. Там 3 варианта.

1. Plasmoid Launcher.

2. Compiled Binary - это для компилируемых языков, как я понял. Там даже нельзя выбрать интерпретатор.

3. Script Application - вот здесь есть питоновские настройки, в т.ч. выбор версии интерпретатора. Но никакого внешнего терминала здесь нет.

Настройка «Use external terminal» есть в конфигурации Compiled Binary. Но с этой настройкой скрипт не запускается. Вылезает внешняя консоль с ошибками.

«Warning: Could not start program»

«Warning: execve: Permission denied»

Т.е. либо эта конфигурация не предназначена для питона вообще, либо требует какого-то допила, и поди разберись что ей надо.

utrack
() автор топика
Ответ на: комментарий от James_Holden

Ты о чем вообще? Пару лет назад пробовал какой-то консольный плеер, в котором весь ввод был с клавиатуры. Номера альбомов или треков выбирались с клавиатуры. И таких программ вагон. В чем проблема твоя?

utrack
() автор топика
Ответ на: комментарий от utrack

В чем проблема твоя?

В том что я в упор не понимаю причем тут консольный плеер и как это относится к тому что я писал. Не улавливаю твой полет мысли вообще.

По сабжу:

вот я настроил такую конфигурацию, все работает во внешнем терминале

https://imgur.com/Z1eevgt

Да, это

Compiled Binary - это для компилируемых языков, как я понял. Там даже нельзя выбрать интерпретатор.

Я же как-то выбрал ))

James_Holden ★★★
()
Ответ на: комментарий от utrack

Код

#!/usr/bin/python

print('Enter your name:')
x = input()
print('Hello, ' + x)

А вообще, лично я для питона предпочитаю открывать встроенный Konsole вот этот внизу

https://imgur.com/a/0XJjY81

и оттуда запускать скрипт. Там ввод, естественно, работает.

James_Holden ★★★
()
Последнее исправление: James_Holden (всего исправлений: 1)
Ответ на: комментарий от James_Holden

В том что я в упор не понимаю причем тут консольный плеер и как это относится к тому что я писал. Не улавливаю твой полет мысли вообще.

Ввод с клавиатуры в консольных программах это обычная вещь. Чего ты не улавливаешь?

вот я настроил такую конфигурацию, все работает во внешнем терминале

Я же как-то выбрал ))

Нет, не выбрал. Environment и Script interpreter - это разные опции. Последнего в конфигурации Compiled Binary нет.

У меня сейчас те же настройки, что и на твоем скриншоте - простейший питон-скрипт с единственной функцией print() не запускается. Внешняя консоль выкидывает ошибки.

«Warning: Could not start program»

«Warning: execve: Permission denied»
utrack
() автор топика
Ответ на: комментарий от anonymous_sapiens

Видел такую консоль… Но это как бы получается все-равно что в обычной консоли сидишь. Нажимаешь Execute, потом переключаешься на нижнюю консоль, и вручную запускаешь python program.py - какой смысл тогда в IDE? Я так и в обычной консоли могу…

utrack
() автор топика
Ответ на: комментарий от utrack

Ввод с клавиатуры в консольных программах это обычная вещь.

Я где-то утверждал обратное? Может, цитату дать можешь? Я за свои слова пока отвечаю.

Environment и Script interpreter - это разные опции.

Я ничего не писал про Environment. Ты так-то странно общаешься, постоянно приписываешь мне бред, который сам же придумываешь.

Последнего в конфигурации Compiled Binary нет.

Да, нет конечно. Но это не мешает выбрать интерпретатор никак. Я же выбрал. Скрипт запускается на питоне.

Permission denied

Тебе это что, ни о чем не говорит? Может рано тогда на питоне писать? Ты права на выполнение скрипту дай сначала, потом запускай.

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

Да, но в чем прикол? Какой смысл тогда в IDE? Мало того, что ты сам опять вручную все запускаешь, так оно еще и засерает историю консоли. Оно пишет в основной баш_хистори…

utrack
() автор топика
Ответ на: комментарий от utrack

Какой смысл тогда в IDE?

Вот тут надо пояснить, почему-то многие не понимают этого, и проявляется это понимание на KDevelop )))

IDE нужно не для того чтобы запускать что-то кнопкой «сделать зашибись». Это какая-то мулька из мира винды, беда просто. IDE нужна чтобы на лету анализировать код, обеспечивать подсветку кода, желательно семантическую, писать сразу ошибки прямо поверх кода, обеспечивать автокомплит. Все это KDevelop делает на ура даже на скриптухе (не говоря уже о C++ где рядом с ним мало что стояло).

James_Holden ★★★
()
Ответ на: комментарий от utrack

так оно еще и засерает историю консоли. Оно пишет в основной баш_хистори…

Ну так ставь пробел перед командой, не будет в истории сохраняться она.

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

Я где-то утверждал обратное?

Ты говорил, что не можешь понять причем здесь пример с консольным плеером. В теме, где обсуждается невозможность писать полноценные консольные программы в Kdevelop. Потом что-то вбросил про хелоуворды.

В ide надо код писать а не хелворды, и для написания кода в KDevelop все есть, не только для питона, а из скриптухи еще и для php как минимум.

Я тебе объяснил, что ввод с клавиатуры это обычное дело для консольных программ. И его поддержки в KDevelop нет.

Я ничего не писал про Environment. Ты так-то странно общаешься, постоянно приписываешь мне бред, который сам же придумываешь.

Ты писал, что выбрал интерпретатор питона в конфигурации Compiled Binary. Там даже на твоем скрине видно, что такой опции нет. Она называется Script interpreter, и находится в конфигурации Script Application. Ты быстро теряешь нить разговора, потом обвиняешь других в бреде.

Да, нет конечно. Но это не мешает выбрать интерпретатор никак. Я же выбрал. Скрипт запускается на питоне.

Не выбрал ты интерпрератор. На твоем скрине нет такой опции, это в конфигурации Script Application его можно выбрать.

Тебе это что, ни о чем не говорит? Может рано тогда на питоне писать? Ты права на выполнение скрипту дай сначала, потом запускай.

Правда чтоль? Офигеть какой ты умный. Может сначала конфигурацию нормальную выбирать научишься, соответствующую приложению? Для консольного приложения на питоне (которое Simple Python Application) - это Script Application. И оно почему-то не требует никаких разрешений, а просто выполняется.

А твоя левая конфигурация Compiled Binary выдает ошибки, потому что не предназначена для питоновского скрипта.

utrack
() автор топика
Ответ на: комментарий от James_Holden

IDE нужно не для того чтобы запускать что-то кнопкой «сделать зашибись». Это какая-то мулька из мира винды, беда просто. IDE нужна чтобы на лету анализировать код, обеспечивать подсветку кода, желательно семантическую, писать сразу ошибки прямо поверх кода, обеспечивать автокомплит. Все это KDevelop делает на ура даже на скриптухе (не говоря уже о C++ где рядом с ним мало что стояло).

А я думал, что IDE нужно, чтобы поддерживать определенные языки, а не выкидывать избирательно поддержку определенных функций и операторов.

utrack
() автор топика
Ответ на: комментарий от James_Holden

Ну так ставь пробел перед командой, не будет в истории сохраняться она.

О да, ставить IDE для того, чтобы вручную запускать программы в консоли, как ты это делаешь в обычной консоли, да еще и пробелы подставлять… Месье знает толк в извращениях.

utrack
() автор топика
Ответ на: комментарий от utrack

Офигеть какой ты умный.

Не жалуюсь. Не я же здесь не осиливаю хелворд на питоне запустить битый час. Так что да, в контескте этого треда - умный.

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

А я тебя просил это мне объяснять? Я где-то утверждал обратное? Нет. Я написал что в KDevelop никому не уперлось делать чтобы твой хелворд из двух строчек удобно запускался «новичком». Про то что консольные программы, тем более плееры, не нужны - я не говорил. Я не знаю откуда ты это взял.

Ты быстро теряешь нить разговора, потом обвиняешь других в бреде.

Как это мило, человек который не может сформулировать простейшую мысль и пишет что-то вроде вот этого:

А я думал, что IDE нужно, чтобы поддерживать определенные языки, а не выкидывать избирательно поддержку определенных функций и операторов.

обвиняет меня в том, что я что-то не могу. Спешите видеть.

Не выбрал ты интерпрератор.

Выбрал вот здесь. Kdevelop не подходит для новичков и «консольщиков» (комментарий)

Домашнее задание тебе - понять как.

А твоя левая конфигурация Compiled Binary выдает ошибки, потому что не предназначена для питоновского скрипта.

Ты даже не можешь понять текст ошибки, дарование юное. А рассуждаешь о глобальных вещах.

James_Holden ★★★
()
Ответ на: комментарий от utrack

О да, ставить IDE для того, чтобы вручную запускать программы в консоли

Еще раз, для особо непонятливых. IDE нужно совсем не для того чтобы запускать программы. Оно нужно для того чтобы их писать.

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

Не жалуюсь. Не я же здесь не осиливаю хелворд на питоне запустить битый час. Так что да, в контескте этого треда - умный.

Ты даже не понимаешь, какой это бред - IDE не может осилить простейший скрипт. Отказывается обрабатывать оператор ввода с клавиатуры. Это же ПОЛНОЕ ДНО. Первый раз в жизни вижу IDE, которое говорит мне - вот эти операторы буду выполнять, а вот эти не буду!

Весь остальной твой бред даже читать не хочется. Оправдываешь неосиляторство разработчиков, пытаешься свой бред переложить с больной головы на здоровую.

utrack
() автор топика

Я уже даже версию интерпретатора выбрал в настройках лаунчера, а оно мне все-равно говорит - не чувак, иди-ка ты нахер, не буду input() выполнять. И кто-то мне тут доказывает, что это нормально. Клоуны.

utrack
() автор топика

IDE это про удобство, а не про пердолинг, клоуны.

utrack
() автор топика
Ответ на: комментарий от utrack

Влезу :)

Ты говорил, что не можешь понять причем здесь пример с консольным плеером. В теме, где обсуждается невозможность писать полноценные консольные программы в Kdevelop. Потом что-то вбросил про хелоуворды.

Невозможность писать или таки запускать из IDE? Пишется там все отлично.

PunkoIvan ★★★★
()
Ответ на: комментарий от PunkoIvan

Пишется там все отлично.

Кому ты объясняешь, человек не понимает что такое Permission Denied а рассуждает каким должно быть IDE и все кругом клоуны.

James_Holden ★★★
()
Ответ на: комментарий от PunkoIvan

Не жалуюсь. Не я же здесь не осиливаю хелворд на питоне запустить битый час. Так что да, в контескте этого треда - умный.

Запускать конечно. В IDE все-таки хочется полноценного выполнения программы, без всяких извращений и костылей. Но Kdevelop не предназначен для разработки консольных приложений с вводом с клавиатуры.

utrack
() автор топика
Ответ на: комментарий от utrack

IDE не может осилить простейший скрипт.

Ты не можешь осилить, а не IDE. У меня все работает.

Первый раз в жизни вижу IDE

Сто пудов, именно так. Ну ничего, все мы когда-то учились.

говорит мне - вот эти операторы буду выполнять, а вот эти не буду!

Чудо, ты хоть понимаешь что такое «операторы»? Какие операторы нафиг?

Оправдываешь неосиляторство разработчиков

Тебе выше написали, что в VSCode ровно так же. То есть Microsoft тоже не осилили сделать среду разработки? Смелое заявление.

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

Кому ты объясняешь, человек не понимает что такое Permission Denied а рассуждает каким должно быть IDE и все кругом клоуны.

Я знаю, дурачек. Вот только при выборе правильной конфигурации (Script Application), в которой можно выбрать питоновский интерпретатор, никаких прав не требуется. Ты клоун где вообще видел IDE, которое заставляет тебя чмоды файлам прописывать, созданным В ЭТОЙ ЖЕ САМОЙ IDE??? Ты вообще поехавший… И еще обвиняешь меня в бреде.

utrack
() автор топика

Обычная питоновская функция input() просто не работает в Kdevelop.

Я подозреваю там ещё и проблема произвольным набором аргументов при запуске «консольного скрипта» будет. И что теперь? Yakuake, konsole работать перестали?! 🤦‍♂️

Это IDE исключительно для тех, кто шлепает формочки.

Элитка-консолепейсатель негодуэ?! 🤣

erfea ★★★★★
()
Ответ на: комментарий от utrack

Я знаю, дурачек.

Почему тогда ты не дал права, а запостил сюда полный текст банальной детской ошибки? Потому что ты не понимал в чем она. Теперь оправдываться уже поздно.

Ну вот тебе твоя «правильная» конфигурация. Через Script Application. Все работает во внешнем терминале.

https://imgur.com/a/FHHCDP1

И?

James_Holden ★★★
()
Ответ на: комментарий от erfea

Я подозреваю там ещё и проблема произвольным набором аргументов при запуске «консольного скрипта» будет. И что теперь? Yakuake, konsole работать перестали?! 🤦‍♂️

Зачем тогда делать темплейт для консольного приложения, если оно даже не выполняется нормально?

Элитка-консолепейсатель негодуэ?! 🤣

Не ставят нас ни во что…

utrack
() автор топика
Ответ на: комментарий от James_Holden

Почему тогда ты не дал права, а запостил сюда полный текст банальной детской ошибки? Потому что ты не понимал в чем она. Теперь оправдываться уже поздно.

Пипец ты поехавший…

Ну вот тебе твоя «правильная» конфигурация. Через Script Application. Все работает во внешнем терминале.

Где ты нашел внешний терминал в этой конфигурации? Ты меня троллишь чтоли, клоун? Опция «Use external terminal» есть только в твоей левой конфигурации Compiled Binary.

utrack
() автор топика
Ответ на: комментарий от utrack

Для тех кто в танке. В поле Script Interpreter на моем скрине написано

konsole -e python3

Сделай так же и все у тебя будет запускаться во внешнем терминале без назначения прав вручную.

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

Ты настолько поехавший, что предлагаешь на каждый созданный в IDE файл прописывать отдельно чмоды? Да ты реально больной, ахахаха…

utrack
() автор топика
Ответ на: комментарий от utrack

Зачем тогда делать темплейт для консольного приложения, если оно даже не выполняется нормально?

За тем чтобы использовать инструменарий и плюшки IDE. В чём проблема с yakuake и konsole, тему сисек не раскрывать будем?

Не ставят нас ни во что…

?

erfea ★★★★★
()
Ответ на: комментарий от utrack

Ты настолько поехавший, что предлагаешь на каждый созданный в IDE файл прописывать отдельно чмоды?

Дурак? Какие чмоды?

Смотри скрин. Сделай точно так же. Без всяких чмодов все работает.

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

Для тех кто в танке. В поле Script Interpreter на моем скрине написано

Сделай так же и все у тебя будет запускаться во внешнем терминале без назначения прав вручную.

Запускается по-прежнему в нижних лаунчерах.

utrack
() автор топика
Ответ на: комментарий от James_Holden

А нет, сначала запустил только с print(), оно выполнилось и сразу закрылось. Но как-то это не круто, нужно чтобы не закрывалась консоль, иначе даже результата не видно.

utrack
() автор топика

Взял шуруповёрт, профессиональный, синий бош за сто долларов, начал собирать шкаф. И что ты думаешь?! Заднюю стенку из двп на гвоздики пришлось молотком прибивать! Этот шуруповёрт подходит только крутильщикам шурупов! 🐒

erfea ★★★★★
()
Ответ на: комментарий от utrack

Добавь в конце программы

input()

без аргументов. Тогда будет ждать нажатия любой клавиши перед закрытием.

Если ты запускаешь внешний терминал кнопкой Execute, естественно что он закроется когда закроется программа.

James_Holden ★★★
()
Ответ на: комментарий от erfea

Заднюю стенку из двп на гвоздики пришлось молотком прибивать!

Задеваешь за больное, я только после трех дней мучений шкаф доделал. А забивать дурацкие гвозди приходилось ночью, потому что днем работа. Ненавижу на гвоздях собирать.

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

Блииин, чувак, ты понимаешь что это опять очередной костыль… Не должно так быть в IDE. Это же костыли… Мы сейчас придумываем как «обойти систему». Разработчики не захотели сделать удобно, чтобы консольные программы ПРОСТО ВЫПОЛНЯЛИСЬ, и поэтому сидим ломаем голову как бы это обойти. Ну да, твой способ более менее работает. Внешняя консоль открывается. Добавлять input() в конец каждой программы. А если я не хочу? Если он мне там не нужен? Может все-таки разработчики IDE возьмутся за ум?

utrack
() автор топика
Ответ на: комментарий от James_Holden

Уж извините, товарищ! Аналогия то не плохая.

erfea ★★★★★
()
Ответ на: комментарий от utrack

Не должно так быть в IDE. Это же костыли…

Так ничего идеального нет. В других IDE терминал встроенный может быть, но других проблем вагон. Я выбираю KDevelop потому что по сумме плюсы/минусы он меня устраивает больше.

В реальной разработке проблемы, о которых ты пишешь, вообще не играют роли. В основном то что я пишу вообще не запускается напрямую, оно либо крутится на сервере, либо является плагинами и запустить их из IDE все равно нельзя. Или является графическими приложениями и с ними таких проблем вообще нет.

Я признаю конечно что это проблема, и ты создал правильную тему, просто это довольно нишевая проблема и мало кого из целевой аудитории KDevelop волнует. Надо ее решать, конечно, но ни у кого руки за много лет не дошли.

Такие вопросы как твой на форумах с начала десятых годов нагугливаются как минимум. Пока всем пофиг.

James_Holden ★★★
()
Последнее исправление: James_Holden (всего исправлений: 1)
Ответ на: комментарий от James_Holden

Наверно ты прав. Может это нужно в основном новичкам, хотя не думаю что только новичкам, это просто удобно. Когда разрабы говорят, что вот у нас тут поддержка питона, и даже подкидывают темплейт консольного приложения, ожидаешь что оно будет нормально запускаться. А когда оказывается, что это не так, идешь искать обходные пути. Мне лично неудобно каждый раз втыкать input() в конец файла, проще уж в обычной консоли. А разрабы пусть думают, хотят ли они позиционировать свой продукт как IDE для всех, или только для хардкорщиков, которые уже всего повидали и знают чего где прикрутить. Надо им прислушиваться и к новичкам, это широкая аудитория все-таки. А то так и будут все бежать за продуктами Jetbrains. Я вот не хочу, мне Kdevelop больше нравится, работает быстрее, и выглядит лучше. Но если разрабы не прислушиваются к нуждам новичков, то придется сидеть в консоли.

utrack
() автор топика

Эта IDE совершенно не подходит для новичков

Вот-вот. Сначала поднаберись опыта, а потом поговорим.

Pavval ★★★★★
()
Ответ на: комментарий от utrack

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

Посмотри на это с другой стороны. Допустим ты разрабатываешь проект хотя бы на 20000 строк кода. Думаешь тебя будет волновать этот запуск? Это будет тысячная из твоих проблем. А вот навигация по коду в таком проекте тебя будет волновать. Без нее ты свой же код не разберешь через неделю. Вот для чего IDE, а не для того чтобы запускать удобно было.

У тебя такое представление об IDE которое было характерно для 90-х годов. Текстовый редактор, кнопка запустить, кнопка создать проект. На самом деле все сильно сложнее, IDE должна быть не просто редактором, она должна понимать код, уметь по нему переходить, искать нужное место в нужном файле. Делать подсветку с учетом семантики языка, а не просто по ключевым словам.

Это реализовать несоизмеримо сложнее чем запускалку скрипта.

И это нормально реализовано по сути только у Jetbrains и KDevelop. Что-то там брезжит у VSCode. Ну и все пожалуй.

Но если разрабы не прислушиваются к нуждам новичков, то придется сидеть в консоли.

Я одно время несколько лет сидел в Kate. Еще легче чем KDevelop, ничего лишнего, только текстовый редактор и терминал встроенный такой же как в KDevelop. Но там нет функций IDE вообще.

Но если разрабы не прислушиваются к нуждам новичков, то придется сидеть в консоли.

Ну по сути KDevelop и не позиционируется как IDE для новичков-питонщиков. Прежде всего он для C++ со всеми вытекающими. А это хардкор из хардкора по определению.

James_Holden ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.