Специфика Python в отношении Ubuntu

Специфика Python в отношении Ubuntu

Мне было интересно, какой у вас опыт и чем вы можете поделиться в отношении использования Python в среде Ubuntu? Я немного работал с Ubuntu, но есть ли что-то особенное, что можно сделать с кодом Python или библиотеками, которые можно использовать, но нельзя в Windows?

Я опубликовал части того, что я узнал и использовал со временем из своей работы с Python в Ubuntu, но не уверен, нужно ли мне направление в смысле лучших практик и т. д. Если бы вы могли просмотреть и прокомментировать, как я это делаю, предложить улучшения или поделиться опытом, было бы здорово! Мои существующие аннотации к коду находятся наhttp://www.pythonsnippet.com/snippets

Заранее спасибо!

решение1

Это компьютер решает, что можно делать, а что нельзя. На одном и том же оборудовании все, что возможно в одной операционной системе, возможно и в другой, если только нет искусственных препятствий. Фактически, именно это и должны гарантировать операционные системы. Пока у вас установлен Python в Windows, он может делать все, что Python может делать в GNU+Linux. Почти для всех приложений вы будете использовать библиотеки, и эти библиотеки можно программировать на других языках, например, C, для эффективности.

Между Windows и Ubuntu есть два основных различия: 1) Ubuntu имеет встроенную поддержку разработки на многих, многих языках. Из-за этого все разработано так, чтобы быть доступным с использованием любого языка. Хорошим примером является Unity, в котором все делается через DBus, что означает, что вы можете использовать любой язык для управления средой без специальных библиотек, хотя это делает его еще проще. В Windows вам придется вручную установить все требования, прежде чем вы сможете использовать приложение, но тогда оно будет работать так же хорошо.

2) Ubuntu — это свободное программное обеспечение. Это означает, что ни у кого нет стимула говорить, что библиотека должна использоваться только в Ubuntu. Совсем наоборот. Чем больше разработчиков используют библиотеку, тем ценнее становится эта библиотека. Windows сильно отличается. Это не только проприетарная операционная система, принадлежащая одному субъекту, но и инструменты разработки также являются проприетарными и продаются этим субъектом. Это означает, что у них есть миллиарды стимулов, чтобы убедиться, что разработчики пишут приложения с использованием библиотек, которые не могут или не могут быть легко использованы в других операционных системах. Microsoft продемонстрировала некоторую готовность к изменениям, но им еще предстоит пройти долгий путь, прежде чем они смогут почивать на лаврах.

Подводя итог, если вы разрабатываете на Ubuntu, ваше приложение будет работать на любом рабочем столе. Вам придется предоставить установщик, если оно должно использоваться на Windows, но есть программы для автоматизации этих задач. Если ваши приложения полагаются на прямое взаимодействие с системой, то вам, возможно, придется немного скорректировать свой код, но это не так уж и важно. Со временем это улучшится. Например, мы уже видели службы индикаторов для Windows, которые заставляют ваш AppIndicator, написанный для Ubuntu, автоматически отображаться как значок в системном трее Windows без каких-либо усилий со стороны разработчика. У нас должно быть универсальное решение для этого. Если ваше приложение зависит от DBus для межпроцессного взаимодействия, то это тоже будет работать, поскольку DBus уже был перенесен на Windows. Нам понадобится служба DesktopCouch и т. д. Это не технически сложные вещи, их просто нужно сделать, и они будут сделаны.

Я бы даже сказал, что даже если, как разработчик, ваша главная цель — Windows, вам все равно следует разрабатывать это программное обеспечение на Ubuntu. Это не только очень удобная среда со всеми необходимыми инструментами и сильным сообществом, которое вас поддержит, но и гарантирует, что вы, как разработчик, всегда сможете расширить свою аудиторию в любое время, с минимальными усилиями. Я особенно и очень настоятельно рекомендую использовать Python с GTK3.

Ого, я так долго тяну. :)

решение2

Я не видел ничего, что было бы сделано на стороне Windows, что нельзя было бы сделать на стороне Linux, если говорить о Python. Могут быть некоторые проблемы с компонентами скомпилированного кода и собственным API C. В остальном, по моему опыту, все примерно так же.

Связанный контент