Books:Python — ALT Linux Wiki
Содержание
- 1 План-проспект книги «Прикладное программирование в GNU/Linux на языке Python»
- 1.1 Рабочее название
- 1.2 Идея книги в двух словах
- 1.3 Предполагаемая целевая аудитория книги
- 1.4 Какие практические задачи (целевой аудитории) поможет решать книга
- 1.5 Другие изданные книги по аналогичной тематике, включая книги про проприетарному ПО, применяемому в той же предметной области. Чем эти книги хороши и чем плохи?
- 1.6 Что нового в предлагаемой книге по сравнению с существующими
- 1.7 Очень краткий обзор свободно доступных материалов по данной теме, включая статьи, форумы, списки рассылки и пр. веб-ресурсы.
- 1.8 Предполагаемый объем издания
- 1.9 Предполагаемое количество и характер иллюстраций
- 2 Краткий план
- 2.1 Ориентировочные названия глав, разделов, частей, лекций в зависимости от структуры книги
- 2.2 Краткие аннотации к частям книги
- 3 Проектное задание на прилагаемый к книге диск
- 3.
1 Общее назначение
- 3.
План-проспект книги «Прикладное программирование в GNU/Linux на языке Python»
Рабочее название
«Прикладное программирование в GNU/Linux на языке Python».
Идея книги в двух словах
Идея книги состоит в написании руководства по программированию на языке Python в операционной системе GNU/Linux с использованием наиболее востребованных инструментов (графические библиотеки, базы данных и т. п.).
Предполагаемая целевая аудитория книги
Целевой аудиторией книги являются программисты, желающие создавать программное обеспечение в GNU/Linux, а также студенты и преподаватели профессиональных и высших учебных заведений. Книга также может быть использована учениками и учителями в школах качестве дополнительного материала по дисциплине «информатика».
Какие практические задачи (целевой аудитории) поможет решать книга
Книга поможет решать следующие практические задачи целевой аудитории:
- создание требуемого программного обеспечения «с нуля» в ограниченные сроки;
- построение в рамках организаций легко модернизируемых программных комплексов;
- овладение основами программирования в GNU/Linux с возможностью дальнейшего изучения предмета на базе справочных материалов;
- изучение основ прикладного программирование в целом.
Другие изданные книги по аналогичной тематике, включая книги про проприетарному ПО, применяемому в той же предметной области. Чем эти книги хороши и чем плохи?
- Р. А. Сузи «Язык программировани Python», Бином. Лаборатория знаний. 2007, ISBN 978-5-94774-711-9, 978-5-9556-0109-0;
- Лутц М. «Изучаем Python», Символ-Плюс, 2008, ISBN 978-5-93286-138-7;
- Ленингем И. «Освой самостоятельно Python за 24 часа», Вильямс, 2001, ISBN 5-8459-0198-7;
- Лесса А. «Python. Руководство разработчика», ДиаСофт, 2002, ISBN 5-93772-010-5.
Указанные книги хороши тем, что рассматривают язык программирования Python достаточно подробно и целостно. Недостатками данных книг является невозможность быстрого практического применения полученных навыков в реальных задачах.
Что нового в предлагаемой книге по сравнению с существующими
Язык программированиея Python рассматривается в контексте использования его в ОС GNU/Linux. Кроме того, читателю предлагается совершенно новый подход к изучению программирования: овладение практическими навыками и подходами для дальнейшего самостоятельного изучения с использованием справочников.
Очень краткий обзор свободно доступных материалов по данной теме, включая статьи, форумы, списки рассылки и пр. веб-ресурсы.
- http://pydev.ru/forum/ — форум, посвященный языку программирования Python;
- http://www.python.ru/ — сайт, посвященный программированию на языке Python;
- http://python.su/ — портал Python-программистов.
Предполагаемый объем издания
400—500 страниц текста с иллюстрациями.
Предполагаемое количество и характер иллюстраций
30-50 иллюстраций: снимки экрана (скриншоты), структурные схемы.
Краткий план
Ориентировочные названия глав, разделов, частей, лекций в зависимости от структуры книги
Книга состоит из трех частей. Каждая часть делится на главы, а главы — на разделы. Таким образом, деление книги представляет собой трехступенчатую иерархическую структуру.
Краткие аннотации к частям книги
Часть I. Язык программирования PythonВ этой части читатель знакомится с языком программирования Python на примере консольных приложений. Отдельные главы посвящены инструментарию Python, синтаксической структуре языка, а также объектно-ориентированному программированию.
- Глава 1. Знакомство с языком Python
- Глава 2. Основные конструкции языка
- Глава 3. Модули
- Глава 4. Ввод-вывод
- Глава 5. Классы и объектно-ориентированное программирование
- Глава 6. Стандартная библиотека Python
Часть II. Реализация графических интерфейсов при помощи Python
В части описываются основы практического использования интерфейсов Qt и GTK в языке Python. Параллельно рассматриваются дополнительные возможности языка, не упомянутые в части I.
- Глава 1. Обзор графических интерфейсов
- Глава 2. PyQt
- Глава 3. PyGTK
Часть III. Использование баз данных в языке Python
Часть описывает инструменты работы с базами данных на языке Python. Заключающая глава объединяет графические интерфейсы и базы данных в примере единого рабочего приложения (система личных карточек).
- Глава 1. Введение в базы данных
- Глава 2. SQLite
- Глава 3. MySQL
- Глава 4. PostgreSQL
- Глава 5. Совместное использование баз данных и графических интерфейсов
Проектное задание на прилагаемый к книге диск
Общее назначение
Диск содержит исходные тексты используемых в книге программ, а также свободное программное обеспечение, необходимое для реализации рассмотренных в книге примеров.
База знаний Амперки [Амперка / Вики]
Здесь собрана вся база знаний Амперки: инструкции и подсказки по Arduino и Raspberry Pi, оригинальные проекты, схемы распиновки модулей и datasheet’ы, теория электричества для начинающих и другая полезная информация. Ищите ответы на технические вопросы в нашей Wiki, накопленной годами!
Теория
Электричество
Понятие электричества
Принципиальные схемы
Основные законы электричества
Управление электричеством
Делитель напряжения
Компоненты
Конденсатор
Резистор
Диод
Светодиод
Кнопка
Светодиодные сборки
Биполярный транзистор
Полевой транзистор
Пьезодинамик
Сигналы, интерфейсы, протоколы
Аналоговый сигнал
Цифровой сигнал
Датчики и сенсоры: теория
Широтно-импульсная модуляция (ШИМ, PWM)
Механика
Коллекторный двигатель
Сервопривод
Программирование на C++
Языки программирования: обзор
Структура программы на C++ для Arduino
Константы, переменные и арифметика
Логические переменные, выражения if, ветвление
Конечные автоматы, перечисления enum, выражения switch
Случайные числа
Мифы и легенды о…
Мейкерах и DIY
Arduino
Espruino и JavaScript
Raspberry Pi
Технический FAQ
Решение частых проблем
Руководства
Iskra JS и Espruino
Начало работы с Espruino: JavaScript в микроконтроллере
Что такое Espruino
Подключение и настройка
Загрузка интерпретатора JS:
BBC micro:bit
STM32 Nucleo
ESP8266
Для тех кто переходит с Arduino
Как создать и подключить свою библиотеку в Espruino Web IDE
Как использовать библиотеки без интернета
Iskra JS
Iskra JS Mini
Espruino Pico
Espruino MDBT42Q Breakout
Espruino Pixl.
js
Espruino Puck.js v1
Espruino Puck.js v2.1
NEW
Arduino
Что такое Arduino?
Подключение и настройка
Видеоуроки Джереми Блюма
HIT
Видеоуроки Карандаша и Самоделкина
Менеджер плат
Установка библиотек
Собираем Arduino своими руками
Arduino Nano RP2040 Connect
NEW
Arduino MKR GSM 1400
Arduino MKR Vidor 4000
Arduino MKR Wi-Fi 1010
Arduino Yun Rev 2
Arduino MKR Zero
Arduino Uno
Arduino Nano
Arduino Nano Every
Arduino Nano 33 IoT
Arduino Nano 33 BLE
Arduino Nano 33 BLE Sense
Arduino Uno WiFi
Arduino Uno WiFi Rev2
Arduino Mega 2560
Arduino Leonardo
Arduino Leonardo ETH
Arduino Due
Arduino M0
Arduino M0 Pro
Arduino Yun
Arduino Yun Mini
Arduino Tian
STEMTera
Arduino Shields
Multiservo Shield v2
Multiservo Shield v1
Troyka Shield
Troyka Shield LP
Troyka Slot Shield
Troyka Mega Tail Shield
Screw Shield
Motor Shield
Motor Shield Plus
Relay Shield
AC/DC Shield
EasyVR 3 Plus Shield
Ethernet Shield
GPRS Shield
Mini IO — шилд для Arduino Mini
Iskra
Iskra Uno
HIT
Iskra Nano Pro
Iskra Mega
Iskra Neo
Iskra Mini
micro:bit
Плата BBC micro:bit v2
HIT
Плата BBC micro:bit v1.
5
Модуль питания Kitronik MI: Power Board v2
Умная перчатка Pimoroni MINI.MU
Драйвер моторов drive:bit
Драйвер сервоприводов servo:bit
Светодиодный диск ZIP Halo HD
Светодиодная матрица ZIP Tile
Плата мониторинга окружающей среды Pimoroni enviro:bit
Сенсорная клавиатура Pimoroni touch:bit
Светодиодная матрица Pimoroni scroll:bit
Модуль питания micro:bit
Адаптер micro:bit Breakout
Робот MiniBit
Робот Bit:Bot XL
Светодиодное лицо BitFace Breakout
Дальномер Ultrasonic Breakout
xDuino и другие платформы
Particle Photon
Microview OLED
Strela
STM32 Nucleo
Netduino 2
Teensy
Подключение и настройка
Teensy 3.
2
Teensy 3.5
Teensy 3.6
Teensy 4.0
ESP8266
Как прошить модули
Как создать резервную копию прошивки
ESP-01
Troyka WiFi
ESP32
ESP-WROOM-32 DevKit v1
Raspberry Pi
Начало работы
Запись Raspberry Pi OS на карту microSD
Заводим Raspberry Pi
Настройка Raspberry Pi OS
SSH — работа без экрана
VNC — удалённый рабочий стол
Настройка штатных камер
Интерфейсы
Raspberry Pi 4 Model B
Raspberry Pi 3 Model A+
Raspberry Pi Zero W
Raspberry Pi Zero
Raspberry Pi 3 Model B
Raspberry Pi CM3+
Raspberry Pi CM I/O Board v3
Raspberry Pi HATs
Raspberry Pi PoE HAT
NEW
Raspberry Pi PoE+ HAT
NEW
Battery HAT
HIT
Ethernet / USB HAT
Troyka HAT
HIT
Пианино Pimoroni Piano HAT
Pi Zero USB Stem
Плата мониторинга окружающей среды Pimoroni Enviro+ HAT
LED-матрица Pimoroni Unicorn HAT Mini
Умная колонка Pimoroni Pirate Audio
Усилитель наушников Pimoroni Pirate Audio
ТВ-тюнер Raspberry Pi TV HAT (DVB-T2)
Troyka Cap
Драйвер RGB-матриц
Адаптер Raspberry Pi Breakout
Корпус для RPi в стиле MegaDrive
Корпус для RPi в стиле SNES
Raspberry Pi Camera v2
Raspberry Pi Camera v2 NoIR
Raspberry Pi High Quality Camera
Raspberry Pi Pico
Среда разработки Thony Python IDE
Установка библиотек в Thonny Pyhon IDE
Raspberry Pi Pico
HIT
Цветной дисплей 1,14” (v1) для Raspberry Pi Pico
NEW
IMU-сенсор 10 DOF (v1) для Raspberry Pi Pico
NEW
Часы реального времени (v1) для Raspberry Pi Pico
NEW
Дисплей E-Ink для Raspberry Pi Pico v1 2,13” (v1) для Raspberry Pi Pico
NEW
Onion Omega2
Onion Omega2
Установка и настройка Onion Omega2
Onion Breadboard Dock
OpenMV
Среда разработки OpenMV IDE
Камера машинного зрения OpenMV H7
Камера машинного зрения OpenMV M7
OpenMV LCD Shield
OpenMV WiFi Shield
OpenMV Wireless TV Shield
Troyka-модули и сенсоры
Что такое Troyka-модули
pH-метр с щупом
Солемер с щупом
Текстовый дисплей 16×2
Screw Pad
Энкодер
Импульсный блок питания на 600 мА
Импульсный блок питания на 3000 мА
Power Cell
OLED-дисплей
Линейный регулятор напряжения
Адаптер «мама-папа»
Приёмопередатчик на 868 МГц
Bluetooth Low Energy
Метеодатчик
USB-UART преобразователь
Расширитель портов I²C
Усилитель класса D
Модуль подтяжки
Понижающий DC-DC и преобразователь уровней для WS2812
Аналоговый акселерометр
Ползунковый потенциометр
H-мост (1 канал)
H-мост (2 канала)
Светодиодная матрица 8×8
Датчик вибрации
Расширитель GPIO-портов
Приёмник GPS/GLONASS v2
Приёмник GPS/GLONASS с выносной антенной v2
Светодиодная RGB матрица 4×4
Внешний ЦАП с TRS 3,5 мм
Внешний ЦАП с клеммником
MIDI in/out
Четырёхкнопочная клавиатура
Датчик шума
Четырёхразрядный индикатор (вторая ревизия)
Wi-Fi модуль
SD картридер
Troyka Pad
Аудиомодули:
Аудиовыходы
Аудиовход
Датчик приближения и освещённости VL6180
Приёмопередатчик RS-485
Bluetooth HC-05
Датчик тока
Датчик цвета
IMU-сенсор на 10 степеней свободы v2
Гироскоп v2
Акселерометр
Магнитометр / компас
Барометр v2
Датчики газа MQ:
датчик широкого спектра газов MQ-2
датчик паров спирта MQ-3
датчик природного газа MQ-4
датчик горючих газов MQ-5
датчик сжиженного углеводородного газа MQ-6
датчик угарного газа MQ-7
датчик водорода газа MQ-8
датчик горючих и угарного газов MQ-9
датчик углекислого газа MQ-135
Сканер RFID/NFC
3D-джойстик
Датчик температуры и влажности
Часы реального времени
Повышающий стабилизатор напряжения
Реле
Силовой ключ (N-канал)
Силовой ключ (P-канал)
Драйвер шагового двигателя
Четырёхразрядный индикатор (первая ревизия)
Аналоговый термометр
Датчик освещённости
Тактовая кнопка
Zelo-модули
Восьмиканальный датчик линии v1
Инфракрасный датчик движения
Сборка силовых ключей (P-FET)
Сборка силовых ключей (N-FET)
AC/DC — блок питания и реле
Мини-реле
Power Bank v1
Power Bank v2
Slot-модули
Uno Slot
Wi-Fi Slot
Slot Expander
Текстовые дисплеи
Текстовый дисплей 8×2
Текстовый дисплей 16×2
Текстовый дисплей 20×4
Текстовый дисплей 16×2 / I²C
Текстовый дисплей 20×4 / I²C
Текстовый дисплей 16×2 / I²C / 3,3 В
Текстовый дисплей 20×4 / I²C / 3,3 В
Графические дисплеи
Графический дисплей 128×64
Графический дисплей 128×64 / I²C
NEW
Цветной графический дисплей 480×240 / 3,2”
Цветной графический дисплей 320×240 / 2,2”
HMI-дисплеи Nextion
Чем HMI-дисплей отличается от простого экрана
Подключение и настройка
Дисплей Nextion Discovery 2,4”
NEW
Дисплей Nextion Discovery 2,8”
NEW
Дисплей Nextion Discovery 3,5”
NEW
Дисплей Nextion Enhanced 2,4”
Дисплей Nextion Enhanced 2,8”
Дисплей Nextion Enhanced 3,2”
Дисплей Nextion Enhanced 3,5”
Дисплей Nextion Enhanced 4,3”
Дисплей Nextion Enhanced 5”
Дисплей Nextion Enhanced 7”
Дисплей Nextion Intelligent 4,3”
NEW
Дисплей Nextion Intelligent 4,3” в корпусе
NEW
Дисплей Nextion Intelligent 5”
NEW
Дисплей Nextion Intelligent 5” в корпусе
NEW
Дисплей Nextion Intelligent 7”
Дисплей Nextion Intelligent 7” в корпусе
Дисплей Nextion Intelligent 10,1”
Адаптер Nextion I/O
Плата расширения Nextion I/O
Преобразователь USB-UART Nextion Foca Max
Дисплеи для Raspberry Pi
Цветной дисплей для Raspberry Pi 4,3” / 800×480 / IPS / DSI
NEW
Дисплей для Raspberry Pi 5” / 800×480 / IPS / DPI
NEW
Дисплей для Raspberry Pi 7” / 1024×600 / IPS / DPI
NEW
Резистивный сенсорный дисплей для Raspberry Pi 320×240 / 2,8” / SPI
Резистивный сенсорный дисплей для Raspberry Pi 480×320 / 3,5” / SPI
Резистивный сенсорный дисплей для Raspberry Pi 480×320 / 3,5” / HDMI
Резистивный сенсорный дисплей для Raspberry Pi 800×480 / 5” / HDMI
Ёмкостный сенсорный дисплей для Raspberry Pi 800×480 / 5” / HDMI
Ёмкостный сенсорный AMOLED дисплей 5,5” / 1920×1080 / HDMI
NEW
Ёмкостный сенсорный AMOLED дисплей 5,5” / 1920×1080 / HDMI / в корпусе
NEW
Ёмкостный сенсорный дисплей для Raspberry Pi 1024×600 / 7” / HDMI
Ёмкостный сенсорный дисплей для Raspberry Pi 1024×600 / 7” / HDMI / в корпусе
Ёмкостный сенсорный HDMI-дисплей для Raspberry Pi 1920×1080 / 11,6” в корпусе
Сенсорный дисплей для Raspberry Pi / HDMI
Сенсорный дисплей для Raspberry Pi / SPI
E-Ink дисплеи
Брелок E-Ink 1,54” с NFC
HIT
Экран E-Ink 1,54” / монохромный
Экран E-Ink 1,54” / красный
Экран E-Ink 1,54” / жёлтый
Дисплейный модуль E-Ink 2,13” для Raspberry Pi / монохромный
Дисплейный модуль E-Ink 2,13” для Raspberry Pi / красный
Дисплейный модуль E-Ink 2,13” для Raspberry Pi / жёлтый
Дисплейный модуль E-Ink 2,7” для Raspberry Pi / монохромный
Дисплейный модуль E-Ink 2,7” для Raspberry Pi / красный
Экран E-Ink 4,2” / монохромный
Экран E-Ink 4,2” / красный
Экран E-Ink 4,2” / жёлтый
Экран E-Ink 5,83” / монохромный
Экран E-Ink 5,83” / красный
Экран E-Ink 5,83” / жёлтый
Экран E-Ink 7,5” / монохромный
Экран E-Ink 7,5” / красный
Экран E-Ink 7,5” / жёлтый
Светодиодные модули
Семисегментный индикатор SegM8
Круглый светодиодный модуль RGB WS2812 (7×LED)
Светодиодные модули RGB WS2811 (20×3)
Светодиодные модули RGB WS2811 (20×3) с винтовым креплением
Умные устройства Sonoff
Настройка приложения eWeLink
Умная Wi-Fi IP-камера Sonoff GK-200MP2-B
NEW
Умное реле Sonoff BASIC
Умное реле Sonoff BASICR2
Умное реле Sonoff Th26
Умное реле Sonoff POWR2
Умное реле Sonoff MINIR2
Умное реле Sonoff RE5V1C
Умная розетка Sonoff S26
Умный патрон Sonoff SlampherR2
Умный выключатель Sonoff T2EU1C
Умный USB-адаптер Sonoff Micro
Умное реле Sonoff 4CHPROR3
Датчик влажности и температуры Sonoff AM2301
Герметичный датчик температуры Sonoff DS18B20
Сервоприводы
Что такое сервопривод
Сервоприводы PDM с удержанием угла
Сервоприводы PDM постоянного вращения
Сервопривод Feetech FS90
Сервопривод Feetech FS90R
Сервопривод Feetech FT90B
Сервопривод Feetech FT90R
Сервопривод Feetech FS0403-FB
Сервопривод Feetech FS90-FB
Сервопривод Feetech FB5317M-360
Сервопривод Feetech FB5118M
Сервопривод Feetech FT6335M
Электромеханические модули
Коллекторные моторы 12 мм
Шаговый двигатель 28BYJ-48 5V
Электронный замок (27×28×18 мм)
Электронный замок (54×38×28 мм)
Соленоидные актуаторы
Другие сенсоры и модули
Waveshare Датчик Пыли Sharp GP2Y1010AU0F
Датчик качества воздуха CCS811
Breadboard Power Supply
Понижающий DC/DC-преобразователь для Arduino
Ёмкостный датчик влажности почвы
Резистивный датчик влажности почвы
Ёмкостный датчик уровня жидкости
Светодиодная RGB Матрица 64×32
Аналоговый датчик линии
Цифровой датчик линии
Сканер штрихкодов и QR-кодов
Мультивалютный монетоприёмник
Эталонный монетоприёмник
Цветная светодиодная лента
Белая светодиодная лента
Герметичный датчик температуры DS18B20
Nano Switch
Импульсные источники питания
XBee Series 2
Ультразвуковой дальномер HC-SR04
Лидар Benewake TFmini
Лидар Benewake TFmini-S
Лидар Benewake TFmini Plus
Лидар Benewake TF02
Лидар Benewake TF02 Pro
Матричные клавиатуры:
четыре клавиши (1×4)
двенадцать клавиш (4×3)
шестнадцать клавиш (4×4)
Микросхемы и микроконтроллеры
CD4026: управление 7-сегментными индикаторами
Прошивка ATtiny с помощью Arduino
Прошивка ATtiny программатором и чистый «Си»
Корпусирование
#Структор
Проекты
Мини-проекты с Arduino
Маячок
Маячок с нарастающей яркостью
Светильник с управляемой яркостью
Терменвокс
Ночной светильник
Пульсар
Бегущий огонёк
Мерзкое пианино
Миксер
Кнопочный переключатель
Светильник с кнопочным управлением
Кнопочные ковбои
Секундомер
Счётчик нажатий
Комнатный термометр
Метеостанция
Пантограф
Тестер батареек
Светильник, управляемый по USB
Перетягивание каната
Простые проекты на Arduino Uno и Slot Shield
Как собрать проект на Arduino Uno
Простые часы
Часы c подстройкой времени
Автономные часы
Электронный будильник
Бионический будильник
Метеодатчик для компьютера
Автономная метеостанция
Электронный барометр
Метеостанция c выносным термометром, гигрометром и барометром
Универсальный ИК-контроллер с датчиком температуры
Метеокомпьютер с записью на SD
Игра «Саймон говорит…»
Игра «Кнопочные ковбои»
Игра «Flappy Bird»
Игра «Змейка»
Проекты на Iskra Neo и Slot Shield
Что такое проекты на Slot Shield
Автоматическая кормушка для рыб
Электронные кубики для настольных игр
Тамагочи «Space Invaders»
Сигнализация для холодильника
Велокомпьютер с GPS модулем
Часы Фишера для быстрых шахмат
GPS-трекер
Цифровые часы
Автополив для комнатных цветов
Детектор протечки воды
Климат-контроль
Светомузыка
Хлоп-реле
«Кнопочные ковбои»
«Саймон говорит…»
Кухонный таймер
Детектор дыма
Простая метеостанция
Умные устройства
Счётчик электроэнергии
Счётчик подписчиков Instagram
Автоматические кормушки для домашних животных
Пульсометр «Измеритель счастья»
Часы Nixie Clock
Умный чайник
Аркадный игровой автомат на Retro Pie
Система быстрой обтравки фотографий
Гидропонная система периодического затопления «Гидрогоршок»
Arduino в космосе — собираем самописец для стратосферного зонда
Умная вытяжка
Игровая ретро-консоль на Raspberry
GPS-телеметрия для картинга
Игровой автомат «Капитиан Крюк»
Собираем Pong на Arduino
Робот-бармен на соленоидных клапанах
Счетчик лайков с конфетами
Система интеллектуального полива газонов
Nyan! Умный технокотик
Универсальный пульт управления из старого телефона
Виджет из светофора: мониторим Travis CI на Iskra JS
Электронный тайник с IMU-сенсором
POV-спидометр для велосипеда
Танцевальная битва
Автоматизируем капельный полив
Оптический синтезатор Look Modular (проект на GeekTimes)
Гаражный парктроник
Как достать соседа c перфоратором
Умный лабиринт для крыс на Iskra JS
Пиротехнический радиопульт
Лазерная игрушка для кошек
Новогодняя SMS-ёлка
Хэллоуинская тыква
Мишкофон
POV-бегущая строка из 8 светодиодов
Клавиатурный шпион
Робот Мариачи
GPRS-логгер для теплицы
SMS-розетка
Технокуб
Бутылочный Bluetooth-катер
Кашляющая пепельница
MIDI-контроллер «Шарманка»
Ночной мониторинг сайтов
Жалюзи с электроприводом
Фотобудка для кота
Кодовый замок «Тук-тук»
Карта офисной активности
Поворотный стол для 3D-фотосъемки
Голосовой тир
Беспроводная метеостанция
Автополивщик растений на Arduino
Аудиоинформер скорости ветра
RFID-магнитофон «Becha»
Bluetooth Android-пульт для светодиодов
Прогноз погоды на дисплее TE-ULCD
Прогноз погоды на светодиодной матрице
Барабанная установка на Iskra JS
Робототехника
Робот на ROS.
Часть 1: шасси и бортовая электроника
Робот на ROS. Часть 2: дистанционное управление и навигация
Робот на ROS. Часть 3: распознавание речи для голосового управления
Робот на ROS. Часть 4: синтез речи и голосовое управление
Робот для езды по линии на магнитной маркерной доске
Как собрать орнитоптер
Дирижабль для GoPro
Как устроить гонки #Робоняш
Робототехническая лаборатория «Робоняша»
Управляем роботом на Iskra JS по Bluetooth
Собираем простой ИК-бот на Arduino Uno и Iskra JS
Сборка основы для мобильного двухколёсного робота
Робот, ездящий по линии под управлением Arduino
Углубленное изучение коллекторных моторов постоянного тока
Соединительные провода «папа-папа» своими руками
Платформа робота MiniBit
Платформа робота Bit:Bot XL
Занимательные проекты
Олдскульная неоновая вывеска с анимацией
Шарманка на Arduino
Многозадачность на Arduino
Аудио плеер на Arduino через встроенный «ЦАП»
Аудио плеер на Arduino через внешний «ЦАП»
Светодиодная панель на Arduino
Светодиодная панель на Raspberry Pi
Эксперименты из наборов
Набор «Малина»
Набор «Драгстер»
Набор «Йодо»
Автополив — дополнение набора «Йодо»
IoT (Интернет вещей) — дополнение набора «Йодо»
IoT (Интернет вещей) — дополнение набора «Матрёшка»
Как открыть сетевой порт
Инструкции к наборам
Новогодняя DIY-ёлка
Python — Termux Wiki
Материал из Termux Wiki
Перейти к: навигация, поиск
Python — это интерпретируемый язык программирования высокого уровня общего назначения. Созданный
Гвидо ван Россум и впервые выпущенный в 1991 году, философия дизайна Python подчеркивает
удобочитаемость кода с его заметным использованием значительных пробелов. Его языковые конструкции
и объектно-ориентированный подход призван помочь программистам писать четкий, логичный код для небольших
и масштабные проекты.
В Termux Python v3.x можно установить, выполнив
pkg установить питон
Устаревшая, устаревшая версия 2.7.x может быть установлена
пакет установить python2
Предупреждение : обновление основной/младшей версии пакета Python, например, с Python 3.8 до 3.9, сделает все установленные в настоящее время модули непригодными для использования. Вам нужно будет переустановить их. Однако обновление версий исправлений, например, с 3.8.1 до 3.8.2, безопасно.
Из-за ограничений нашей инфраструктуры мы не предоставляем более старые версии пакетов. Если вы случайно обновились до неподходящей версии Python и у вас нет резервных копий для отката, не жалуйтесь! Мы рекомендуем делать резервные копии $PREFIX для разработчиков и других людей, использующих определенные версии программного обеспечения.
Содержимое
- 1 Управление пакетами
- 2 Советы и рекомендации по установке модуля Python
- 2.1 Дополнительные инструкции по установке
- 2.1.1 Ткинтер
- 2.2 Установка модулей Python из исходников
- 2.1 Дополнительные инструкции по установке
- 3 Поиск и устранение неисправностей
- 3.1 pip не читает конфигурацию в ~/.config/pip/pip.conf
Управление пакетами
После установки Python, pip
( pip2
при использовании python2) пакет
менеджер будет доступен. Вот краткое руководство по его использованию.
Установка нового модуля Python:
pip install {имя модуля}
Удаление модуля Python:
pip удалить {имя модуля}
Список установленных модулей:
список пипсов
При установке модулей Python настоятельно рекомендуется иметь пакет
Необходимо установить build-essential
— некоторые модули компилируют собственные расширения
во время их установки.
Несколько пакетов python доступны в диспетчере пакетов termux (только для python3), и их следует устанавливать оттуда, чтобы избежать ошибок компиляции. Это касается:
- numpy,
pkg установить python-numpy
- электрум,
уп. установка электрум
- opencv,
pkg установить opencv-python
- asciinema,
pkg установить asciinema
- matplotlib,
pkg установить matplotlib
- криптография,
pkg install python-cryptography
Советы и рекомендации по установке модуля Python
Предполагается, что у вас есть build-essential
или хотя бы clang
, сделать
и pkg-config
установленными.
Так же предполагалось, что termux-exec
не ломается и работает на вашем устройстве.
Переменная среды LD_PRELOAD
не изменена и не установлена. В противном случае вы
потребуется исправить исходный код модулей, чтобы исправить все ошибки!
Совет: помогите нам собрать больше информации об установке модулей Python в Termux. Вы также можете помочь поддерживать эту информацию в актуальном состоянии, поскольку текущие инструкции со временем могут устареть.
Упаковка | Описание | Зависимости | Специальные инструкции | |
---|---|---|---|---|
гмпи2 | C-кодированные модули Python для быстрой арифметики с множественной точностью. https://github.com/aleaxit/gmpy | libgmp libmpc libmpfr | ||
лxмл | Привязки к libxml2 и libxslt. https://lxml.de/ | libxml2 libxslt | ||
панды | Гибкая и мощная библиотека анализа и обработки данных для Python. https://pandas.pydata.org/ | export CFLAGS="-Wno-deprecated-declarations -Wno-unreachable-code" pip install pandas | ||
пинакл | Привязки к библиотеке сетей и криптографии. https://pypi.python. ![]() | либнатрия | ||
подушка | Библиотека образов Python. https://pillow.readthedocs.io/en/stable/ | libjpeg-турбо libpng | 64-разрядные устройства требуют запуска export LDFLAGS="-L/system/lib64" перед командой pip. | |
пызмк | Привязки к libzmq. https://pyzmq.readthedocs.io/en/latest/ | libzmq | На некоторых устройствах библиотека libzmq не может быть найдена с помощью setup.py. Если |
Расширенные инструкции по установке
Некоторые модули Python могут быть непростыми в установке. Здесь собрана информация о том, как получить они доступны в вашем Termux.
Tkinter
Tkinter отделен от пакета python
и может быть установлен
pkg установить python-tkinter
Мы не предоставляем Tkinter для Python v2. 7.x.
Поскольку Tkinter является графической библиотекой, она будет работать только в среде X Windows System. установлен и работает. Как это сделать, см. на странице Графическая среда.
Установка модулей Python из исходного кода
Некоторые модули невозможно установить без исправления. Они должны быть установлены из исходный код. Вот краткое руководство по установке модулей Python из исходного кода.
1. Получите исходный код. Вы можете клонировать git-репозиторий вашего пакета:
клон git https://ваш-пакет-репо-url cd ./ваш-репозиторий пакетов
или скачать исходный пакет с pip
:
pip скачать {имя модуля} распаковать {имя модуля}.zip компакт-диск {имя модуля}
2. При необходимости внесите необходимые изменения в исходный код. Универсальных руководств по этому поводу нет, выполнить этот шаг самостоятельно.
3. При необходимости исправить все ошибки. Это не нужно, если termux-exec
установлен
и работает корректно.
найти . -type f -not -path '*/\.*' -exec termux-fix-shebang "{}" \;
4. Наконец, установите пакет:
установка python setup.py
Устранение неполадок
pip не читает конфигурацию в
~/.config/pip/pip.conf
А.к.а.
- virtualenv не читает конфигурацию в
~/.config/virtualenv/virtualenv.ini
/ сохраняет свои данные в/data/data/com.termux/files/virtualenv
.
- pip / virtualenv не поддерживает freedesktop
$XDG_CONFIG_HOME
/$XDG_DATA_HOME
/$XDG_CACHE_HOME
.
- pylint / black не хранит свой кеш в
~/.cache
, но хранит свой кеш в/data/data/com.termux/cache
.
Все вышеперечисленное связано с каталогами платформ.
Platformdirs стремится заменить appdirs, поскольку
пип v21.3.0 и
virtualenv v20.5.0, они начали использовать
каталоги платформ вместо каталогов приложений. Appdirs больше ничего не делает на Android, он просто следует
стандарты свободного рабочего стола. Но platformdirs отличается, он использует termux как простое приложение для Android.
но не unix-среда.
См. подробности: platformdirs, выпуск 70.
Вполне предсказуемо, что все пакеты, использующие каталоги платформ, не могут хорошо работать на termux, см.: [1]. До слияния PR 72 единственный способ чтобы исправить это, нужно исправить это вручную.
Есть две копии каталогов платформ, которые нам нужно исправить:
- Pip продает собственную копию в
$PREFIX/lib/pythonX.Y/site-packages/pip/_vendor
. - Platformdirs устанавливается как зависимость в
$PREFIX/lib/pythonX.Y/site-packages
. (Если он был установлен с помощьюpip install --user
, путь будет~/.local/lib/pythonX.Y/site-packages
.)
Каждый раз после обновления pip или каталогов платформ нам нужно чтобы исправить это снова.
Патч для каталогов платформ до v2.5.0:
--- __init__.py.bak 09.03.2022 02:21:09.8885 +0800
+++ __init__.py 2022-04-02 02:37:05.802427311 +0800
@@ -18,7 +18,7 @@
def _set_platform_dir_class() -> type[PlatformDirsABC]:
- если os.getenv("ANDROID_DATA") == "/data" и os.getenv("ANDROID_ROOT") == "/system":
+ если os.getenv("ANDROID_DATA") == "/data" и os.getenv("ANDROID_ROOT") == "/system" и os.getenv("SHELL") равно None:
модуль, имя = "pip._vendor.platformdirs.android", "Android"
Элиф sys.platform == "win32":
модуль, имя = "pip._vendor.platformdirs.windows", "Windows"
Патч для platformdirs версии 2.5.0 или выше:
--- __init__.py.bak 09.03.2022 02:29:15.3380 +0800 +++ __init__.py 2022-04-02 02:44:38.992427138 +0800 @@ -25,6 +25,10 @@ из platformdirs.unix импортировать Unix как результат если os.getenv("ANDROID_DATA") == "/data" и os.getenv("ANDROID_ROOT") == "/system": + + если os.getenv("SHELL") не None: + вернуть результат + из platformdirs.android импортировать _android_folder если _android_folder() не None:
Мы можем просто исправить это:
Патч~/../usr/lib/python3.10/site-packages/pip/_vendor/platformdirs/__init__.py -i platformdirs.patch
Обратите внимание, что две копии могут быть разных версий, поэтому для них нужны разные исправления.
Например, pip v21.3 и v22.0 используют platformdirs v2.4, а последняя версия (2022-04-02) — v2.5.1.
Создать сводку Wiki с помощью Python | Аюши Рават | Analytics Vidhya
Привет, мир!
В этой статье блога мы узнаем, как создать сводку вики. Мы увидим реализацию на Python.
Проверьте репозиторий Ultimate Resource в python. Ставь звезду, если считаешь полезным! Есть что добавить? Откройте PR на том же!
Вы можете обратиться к моему видео-учебнику на YouTube, чтобы увидеть рабочий учебник для лучшего понимания и пошаговое руководство по нему.
1. Что такое Википедия?
3. Основы модуля pywhatkit
4.Генерация сводки Wiki с помощью Python
Приступим!
Википедия — это бесплатная онлайн-энциклопедия с открытым содержимым, созданная совместными усилиями сообщества пользователей, известных как википедисты. Любой зарегистрированный на сайте может создать статью для публикации.
Если вы хотите узнать больше об этом, вы можете обратиться к странице Википедии.
PyWhatKit — это библиотека Python с различными полезными функциями. Это простая в использовании библиотека, которая не требует дополнительной настройки.
Этот модуль также имеет много других интересных функций. Не стесняйтесь и продолжайте исследовать их, или, если хотите, я могу написать о них статью.
Если вы хотите узнать больше об этом, вы можете обратиться к документации модуля pywhatkit.
Теперь, когда вы знакомы с основами Википедии и приобрели базовые знания о модуле pywhatkit, мы можем перейти к разделу кодирования.
Вы можете найти весь код в моем репозитории GitHub. Поставьте звезду, если считаете это полезным.
Чтобы получить доступ к библиотеке Python, вам необходимо установить ее в среду Python
pip install pywhatkit as kt
Теперь нам нужно импортировать пакет в наш скрипт Python. Для этого используйте следующую команду.
import pywhatkit as kt
Теперь, когда мы импортировали библиотеку с помощью команды import pywhatkit as kt
, давайте продолжим.
Давайте отобразим приветственное сообщение. мы будем использовать метод print
для того же самого.
print("Давайте сгенерируем сводку вики!")
Будьте уверены в том, что вы хотите искать, и как только вы решите, давайте сохраним это в target1
.
target1 = "Python"
Наконец, позвоним info 9Метод 0054.
kt.info(target1,lines=3)
ПРИМЕЧАНИЕ. Здесь мы передаем два параметра:
- 1-й параметр отображает тему поиска, используемую для создания сводки вики
- 2-й параметр отображает количество строк резюме, которое вы хотите
Давайте посмотрим на результат поиска.
ВЫВОД:
Давайте сгенерируем сводку Wiki!Python — это интерпретируемый язык программирования высокого уровня и общего назначения, используемый во всем мире. Философия дизайна Python делает упор на удобочитаемость кода благодаря заметному использованию значительных пробелов. Его языковые конструкции и объектно-ориентированный подход призваны помочь программистам писать четкий, логичный код для небольших и крупных проектов. Python динамически типизируется и очищается от мусора.
Давайте посмотрим на другой пример.
target2 = 'coronavirus'
print('\n')
kt.info(target2,lines=3)
С помощью этих шагов мы успешно выполнили поиск в Google с помощью python. Вот и все!
Просто, не правда ли? Надеюсь, этот урок помог. Я настоятельно рекомендую вам посмотреть это же видео на YouTube и не забудьте подписаться на мой канал.
Вы можете поэкспериментировать с библиотекой pywhatkit
и даже изучить дополнительные функции.