Name already in use
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Plugin to run python code in Acode editor for android. This plugin uses Pyodide project to run python in browser.
Plugin is underdevelopment
Using this plugin you can run python codes but you cannot import other python files yet, so, this feature will be supportted in future updates.
- Bugs fixes
- Updated pyodide version
This is plugin might not be supported in your device. To check weather this plugin is supported in your device or not, open console declare variable using ‘const’ key word. If it throws a error, your device doesn’t support this plugin.
Easy Way to Code Python on Android
There are so many ways to learn python. A simple search will give you lots of good links to various courses, tutorials, or online books to follow to learn Python. There is no shortage of material online to help get you started.
The hard part has been in finding an easy way to learn python on mobile without having to download an app with ads baked in. I understand that developers need to eat, I’m not against that, but I would much rather pay for an app, or make a donation, then be bombarded with ads. Also, I don’t know if I will only be shown ads or will my data be harvested for future ads I will see. There is so much information that can be gathered from my phone. I would much rather fork over a couple bucks then have yet another company collect data on me.
Luckily I have found a couple of apps that will help me in my quest to learn a little python during my breaks at work.
Acode
Acode is a powerful code editor for Android. You can get it from the play store or download the apk file from their website.
It supports Python syntax highlighting and has auto fill capabilities. I have been impressed with this app for writing Python on mobile. The only feature that is unavailable to you on the free version is being able to enable dark mode. If you want to have dark mode enabled you will have to buy the app. Obviously it is a little perk if you decide to support the developer and buy the app. To run the Python you have written in Acode you will need to download Termux. So, let’s take a quick look at it.
Полноценное Python приложение на Android
В этой статье я хотел бы рассказать о том, как создать полноценное приложение на Python для Android. Нет, это не очередной мануал для создания скрипта для sl4a, это мануал по созданию полноценного приложения с UI, возможностью собрать apk и выложить на Android Market. Заодно я хотел бы похвалиться своим первым приложением на google.play, это не hello world, а полезное приложение для фотографов, хотя и узко специализированное.
Начну рассказ пожалуй с самого приложения и завершу рассказам о том как оно делалось.
isortViewer
Мне как фотографу приходится тратить много времени на сортировку и отбор фотографий. Не всегда хочется сидеть за рабочим компьютером, когда под рукой есть ноутбук, смартфон или планшет, но копировать туда десятки гигабайт raw или jpeg файлов, а потом синхронизировать с рабочим компьютером — сомнительное удовольствие. Именно поэтому я создал программы isortManager и isortViewer, которые значительно облегчили мне работу по сортировке и отбору фотографий. Теперь заниматься отбором и сортировкой фотографий я могу лежа на пляже диване или скучая в пробке 🙂
Копипаст описания и пара скриншотов:
isortViewer — программа для фотографов, которая позволяет легко и быстрой отбирать и сортировать тысячи фотографий (raw или jpg) с фотосессий на ваших android смартфонах и планшетах. При этом, нет необходимости копировать десятки гигабайт jpg или raw файлов на устройство. Просто воспользуйтесь бесплатной программой isortManager для компьютера, которая сохранит все в один небольшой файл проекта:
1. Скачайте и запустите isortManager с официального сайта;
2. Создайте проект и добавьте папки с фотографиями. Поддерживаются форматы: jpg и raw (cr2, nef, orf и т.д.). В итоге у вас получится небольшой файл проекта (примерно 150 мб на несколько тысяч фотографий, будь то jpg или raw формат);
3. Скопируйте на ваше android устройство файл проекта, откройте в isortViewer. Вы можете помечать фотографии «на удаление», а так же, ставить рейтинги от 1 до 5 звезд;
4. После этого, скопируйте файл проекта обратно и примените изменения в isortManager. Кроме удаления выбранных фотографий, вы можете копировать или перемещать отмеченные фотографии. Например, фотографии с «5 звезд» можно скопировать в папку «шедевры», а «1 звезда» переместить в папку «хлам».



Приложение абсолютно бесплатно и доступно на google.play, однако донейты приветствуются.
Исходники доступны на официальном сайте!
Как это делалось
Так как python лучший язык программирования в мире кроме python я ничего не знаю, решено было написать приложение на python.
isortManager
С isortManager для PC проблем не возникло, создание GUI сборки под windows уже давно обкатано и работает он очень просто: с помощью dcraw выдирает jpg превьюшки из raw файлов, ресайзит из с помощью PIL и складывает в один файл с достаточно простой структурой. Был изобретен свой весолипед с контейнером для хранения фотографий и метаданных (полный путь к фотографии, отметка «на удаление» и отметка рейтинга), так как, например, zip или tar формат, не могут изменять один файл в архиве (метаданные), требую перепаковки всех файлов. Файлы просто пишутся один за другим подряд и в блоке метаданных (обычный repr питоновского словаря) в конце сохраняется смещения начала файлов, плюс в конце файла пишется размер блока метаданных. GUI написано на Tkinter (люблю я его за быстроту написания и за малый размер итоговой сборки), вот собственно скриншот:

И да, все это работает и на linux, и даже быстрее чем на windows )
isortViewer для android
Всего я нашел два способа заставить python приложение работать как полноценное приложение на android, это pygame for android и проект kivy.
Pygame — более низкоуровневый, все UI пришлось бы рисовать вручную, что отняло бы много времени, поэтому был выбран фреймворк kivy. Итак:
Это замечательный фрейморк для написания приложение для windows, linux, MacOS, android и iOS. Поддерживается мультитач, UI рисутется через OpenGL, значит должно работать аппаратное ускорение. Увидеть работу виджетов можно установив демонстрационное приложение Kivy Showcase. Есть возможность использования некоторых платформо специфичных функций, например, вибро или акселерометр, с помощью модуля android.
Для разработки я бы рекомендовал использовать linux, тем более, apk собираются именно в этой OS.
Hello World выглядит так:
Причем этот код будет работать на всех заявленных платформах. Пропадает необходимость в тестировании приложения в эмуляторе. Достаточно запустить скрипт на исполнение в своей любимой IDE и увидеть результат на экране компьютера, без задержек на компиляцию, запуск эмулятора и пр. Если вы все же хотите увидеть как это будет выглядеть непосредственно на устройстве, просто установите Kivy Launcher, скопируйте файлы проекта на карту памяти и запустите. Дебажить при этом можно при помощи adb logcat.
Если вы используете библиотеку android, которой нет на PC, но хочется запускать приложение не только на android, воспользуйте такой конструкцией:
Сборка apk достаточно проста и описана на этой странице. После сборки релиза, достаточно подписать свое приложение (я использовал этот мануал) и выложить в google play.
- Быстрая разработка под различные платформы, практически без доработки кода.
- Доступен широкий выбор виджетов
- Высокая скорость работы. Весь ресурсоемкий вынесен в С модули. Сам интерпретатор python на android работает нативно.
- Фремворк включает в себя множество инструментов, например анимация, кеширование и пр.
- upd: Доступ к камере, буферу обмена, микрофону. Написать свой видеоплеер можно буквально за 20 строк.
- Большой размер apk файла. Проект с 300 кб ресурсов (скрипты, графика) собирается в 7 мб apk. Хотя, думаю, есть возможность это как то оптимизировать.
- Невозможность (пока), восстанавливать работу после сворачивания — приложение закрывается
В следующей своей статье, я расскажу более подробно о процессе написания приложения «с нуля», расжевывая каждую строчку кода.
Хотелось бы сразу пресечь холивары на тему «для android только java, python не нужен». Я считаю, не важно, какие технологии «под капотом», главное чтоб приложение было качественным.
Сфера применения kivy может быть огромной. Сейчас на моем счету несколько приложений, написанных под заказ, где python с фремворком kivy показал себя с хорошей стороны. Например, ровно за один час, было написано приложение, для сети сервисных центров. Приложение работает в режиме киоска и установлено на дешевые китайские планшеты, которые висят в холле. Клиент набирает номер заказа, далее по WiFi планшет соединяется с сервером и сообщает статус заказа.
Как запустить скрипт на Python
Каждый разработчик на Python должен знать, как запускать скрипты, потому что это единственный способ проверить работоспособность написанного кода. Чтобы запустить скрипт, программист может использовать:
- Командную строку (терминал).
- Интерактивный режим Python.
- Текстовый редактор или полноценную IDE.
- Менеджер файлов операционной системы (запуск через графический интерфейс).
Каждый способ имеет свои особенности, поэтому его выбор зависит не только от предпочтений или привычек, но и от того, в какой степени программист хочет контролировать параметры запуска скрипта.
Интерпретатор и его установка
Интерпретатор — это программное обеспечение, которое позволяет запускать скрипты Python. С технической точки зрения интерпретатор является связующим слоем между кодом на Python и машинным кодом.
Интерпретатор используется каждый раз, когда программист запускает код: в интерактивном режиме, через командную строку, всегда.
Если же у вас старая версия Windows и предыдущий вариант не работает, то надо зайти на официальный сайт Python, скачать и запустить установочный файл и следовать инструкциям по установке. Не забудьте при установке выставить галку, чтобы Python был добавлен в Windows PATH.
В Linux обычно ничего устанавливать не требуется, так как Pyton включают в его дистрибутив.
Интерактивный запуск кода Python
Для работы с маленькими кусками кода программисты часто используют режим интерактивного сеанса. В этом режиме введенный код на Python сразу интерпретируется и исполняется. То есть не нужно создавать файл и запускать его.
Чтобы войти в интерактивный режим в Windows, можно использовать один из нескольких способов:
- Из меню пуск запустите командную строку «cmd». Затем выполните в ней команду «python». После этого должная отобразиться версия интерпретатора, дата, время и другая информация. Также должны появится несколько символов «>», которые показывают, что можно вводить команды.
- Нажмите сочетание клавиш <Win>+<R>, откроется окно «Выполнить». Введите «python». Должна открыться командная строка с запущенным интерактивным сеансом. В ней также должна быть отображена информация о версии, дате и времени, а также символы «>».
- Возможность работы в интерактивном сеансе также встроена в IDLE. Её можно запустить из меню пуск, набрав в поиске «IDLE» и кликнув по найденному значку. После этого сразу откроется интерактивный сеанс. Преимуществом использования IDLE является подсветка синтаксиса.
Чтобы запустить интерактивный сеанс в Linux, необходимо выполнить в терминале команду «python3» или «python2».
Для выхода из интерактивного режима используются комбинации клавиш: <Ctrl>+<Z> и после этого нажмите <Enter>. Или можно просто прописать в командной строке quit() или exit().
Примеры работы в интерактивном сеансе
Интерактивный сеанс является необходимым и важным инструментом. С его помощью программист может быстро проверить код, в работе которого он не уверен.
Код исполняется сразу после ввода, однако это не значит, что в терминале можно использовать только однострочные операции, например:
В командной строке также можно писать функции, циклы, условия. Кроме того, в интерактивном сеансе можно импортировать модули.
Командная строка автоматически определяет, когда нужно написать многострочную инструкцию, например, если программист хочет объявить функцию, он пишет:
«>>>» — это просто отображаемый в командной строке символ, свидетельствующий о возможности ввода. Многоточие показывает, что ввод не закончен, тем самым разрешая программисту писать сложные конструкции в несколько строк.
Следующая команда вызывает только что созданную функцию:
Индикаторы ввода остались на этой же строке, потому что мы установили разделитесь функции print с помощью аргумента end = » » .
Запуск скрипта Python через командную строку
Интерактивный сеанс позволяет тестировать код, но как только он завершится, весь код потеряется.
Поэтому большая часть кода пишется с использованием текстовых файлов, которые имеют расширение «.py». Они могут быть созданы с помощью любого текстового редактора, подойдет даже обычный блокнот.
Предположим, что наш скрипт выводит на экран надпись «Hello World!», то есть код будет следующим:
Запишем его в файл world.py. Запустить его через командную строку можно несколькими способами.
Команда «python» и запуск по имени
Самый простой и практичный запуск скриптов — использовать команду «python». Нужно открыть командную строку и написать «python имя_скрипта». Важно, чтобы скрипт находился либо в директории, из которой запущена командная строка, либо в каталоге, прописанном в переменной среды PATH. Тогда запуск пройдет успешно:
Если на компьютере установлены две версии Python, (а на Linux обычно так и есть) следует использовать команды «python3» и «python2» для вызова соответствующей версии.
В последних версиях Windows можно запустить скрипт Python просто введя его имя:
В этом случае запустится новая консоль, выведется в неё сообщение и закроется. Мы ничего не успеем увидеть. Чтобы этого не было, можно в конец файла добавить input(), чтобы скрипт ожидал ввода пользователя.
Такой запуск возможен благодаря тому, что Windows автоматически определяет, какую программу (в данном случае интерпретатор Python) использовать для запуска файла.
В Linux также можно воспользоваться этим способом, но в начале скрипта Python в первой строке должен быть указан полный путь к интерпретатору:
После этого нужно разрешить запуск файла (сделать его исполняемым).
Теперь достаточно просто запустить скрипт, введя в терминал его имя, перед которым добавить «./»:
Запуск модуля
Иногда возникает необходимость запустить модуль, как скрипт. Однако при использовании обычного способа командная строка выдает предупреждение о том, что файл нельзя открыть.
Чтобы запустить модуль, как исполняемый файл, нужно воспользоваться командой:
Перенаправление вывода
Если результаты выполнения скрипта нужно где-то сохранить, чтобы использовать их в последующих операциях, программист может перенаправить вывод из консоли в, например, файл. Для этого используется оператор «>». Вернём содержимое нашего файла world.py в изначальный вариант:
Теперь запустим. Полная команда выглядит так:
Здесь output.txt – это текстовый файл, в который записывается результат выполнения скрипта.
Операция может использоваться как в операционной системе Windows, так и в Unix-подобных системах. Если файла, в который должен вывестись результат, не существует, система создаст его автоматически.
При использовании оператора «>» содержимое файла, в который выводятся данные, полностью перезаписывается. Если уже имеющиеся данные нужно сохранить, используют оператор «>>».
Например, у нас уже есть файл output.txt со строкой приветствия (после того как мы его создали предыдущей командой). Теперь допишем в него ещё одну строку:
Таким образом можно последовательно запустить несколько раз этот скрипт и в файл будут дописываться всё новые строки приветствия.
Использование IDLE
IDLE – это официальная интегрированная среда разработки, поставляемая вместе с интерпретатором Python.
Она позволяет работать в интерактивном режиме, писать и запускать скрипты. Кроме того, IDLE поддерживает подсветку синтаксиса и отладку.
Работа в интерактивном режиме не отличается от того, что было описано для командной строки Windows и терминала Linux. Программист пишет код, который сразу исполняется интерпретатором.
Запуск скрипта
Чтобы запустить скрипт в IDLE, сначала нужно открыть его с помощью «File – Open» или с помощью клавиш <Ctrl>+<O>. Затем его необходимо запустить с помощью «Run – Run Module» или с помощью клавиши <F5>.

При запуске скрипта можно указать пользовательский параметры, для этого используйте «Run – Run… Customized» или комбинация клавиш <Shift>+<F5>. В поле «Command Line Arguments for sys.argv» прописываются нужные аргументы.
Запуск скрипта из интерактивного режима
Иногда при работе в интерактивном режиме возникает необходимость проверить код какого-либо скрипта. Не обязательно использовать терминал или отдельно открывать скрипт в IDLE, его можно запустить прямо из интерактивного сеанса различными способами.
import
При импорте модуля в скрипт выполняется весь содержащийся в нём код. Если модуль содержит только объявления функций и классов и присвоение значений, программист ничего не увидит. Но если модуль выводит что-то на экран, работает с файлами, то это отобразится при импорте.
Таким образом можно импортировать модуль в интерактивном режиме, чтобы увидеть результаты его выполнения, однако сделать это можно только один раз, потому что при последующих импортах в пределах одного сеанса ничего не произойдет, так как при каждом новом импорте интерпретатор обращается к модулю, записанному в кэш, а не к реальному файлу.

Здесь импортировал библиотеку sys для того чтобы в пути прописать полный путь до моего модуля. Видно, что приветствие отображается только после первой попытки импорта моего модуля.
Оператор exec() сначала читает содержимое модуля, затем отправляет его в функцию, которая выполняет код.
Синтаксис выглядит так:
Запуск скриптов из текстового редактора или IDE
Если программист работает над крупным проектом, ему не достаточно стандартной IDLE и блокнота. В этом случае используется либо текстовый редактор, либо полноценная среда разработки IDE.
Для большинства текстовых редакторов разработаны плагины, позволяющие запускать скрипты Python одним кликом мыши. Сейчас очень популярен текстовый редактор VS Code. Вот здесь можно описано как с ним работать.
Большинство IDE поддерживают запуск скриптов по умолчанию. Обычно это делается с помощью встроенной в панель инструментов кнопки «Запуск/отладка». Эту функцию поддерживают такие IDE, как Eclipse, PyCharm, Eric, NetBeans и другие.
Запуск скриптов через менеджер файлов
В любой операционной системе с графическим интерфейсом можно запустить скрипт Python двойным кликом по файлу. Однако здесь есть свои нюансы, во-первых, система должна связывать расширение «.py» с интерпретатором Python, во-вторых, такой способ ограничивает программиста, не позволяя указать дополнительные параметры.
Этот способ можно использовать не только в Windows, но и Unix-подобных системах. Однако после запуска окно консоли будет сразу закрываться. Чтобы решить эту проблему, в конце скрипта добавляется оператор input(), таким образом консоль не закроется, пока не получит ввод от пользователя.
Ещё одной проблемой является невозможность обнаружения и отладки ошибок. Даже если программист добавил оператор input(), при возникновении ошибки в процессе выполнения скрипта консоль закроется.
Это самый ненадёжный способ, который накладывает на программиста много ограничений. Лучше отказаться от идеи пользоваться файловым менеджером во время отладки скриптов и вернуться к стандартным способам запуска через командную строку.