Компилирование python под linux

Содержание
  1. Как установить Python 3.8 на Ubuntu, Debian и LinuxMint
  2. Подготовка к установке Python 3.8 на Ubuntu, Debian и LinuxMint
  3. Ошибка ImportError: No named ‘_tkinter’
  4. Скачать Python 3.8 для Ubuntu, Debian и LinuxMint
  5. Компиляция исходного кода Python для Ubuntu, Debian и LinuxMint
  6. Проверка версии Python на системах Ubuntu, Debian и LinuxMint
  7. Как скомпилировать python в файл .exe на Linux с pyinstaller?
  8. Русские Блоги
  9. Компиляция исходного кода Python в Linux
  10. 1. Скачайте установочный пакет и разархивируйте
  11. 2. Войдите в распакованный пакет Python и выполните тестирование среды.
  12. 3. Скомпилируйте и установите
  13. 4. Обработка ошибок
  14. 5. Установка завершена.
  15. 6. Подключитесь, чтобы сделать команды python3 доступными в любом каталоге оболочки.
  16. Интеллектуальная рекомендация
  17. Используйте Maven для создания собственного архетипа скелета проекта (4)
  18. Станция интерпретации больших данных B пользуется популярностью среди гигантов района «призрачные животные» Цай Сюкуня.
  19. Вопрос A: Алгоритм 7-15: алгоритм кратчайшего пути Дейкстры
  20. Учебный дневник — перелистывание страниц
  21. Нулевое основание для отдыха-клиента
  22. Вам также может понравиться
  23. Подробно объясните, как новички используют sqlmap для выполнения инъекционных атак на базы данных mysql.
  24. Vue заметки сортируют, пусть вам начать с Vue.js:. 04_3 Сетевое приложение: AXIOS плюс Вью
  25. Шаблон алгоритма конной повозки
  26. 35 Line Code, чтобы получить метод исследования событий (ON)
  27. Образ докера: gitlab
  28. Компиляция Python
  29. AOT/JIT
  30. Бенчмарк
  31. AOT-компиляция Python
  32. JIT-компиляция Python
  33. Заключение

Как установить Python 3.8 на Ubuntu, Debian и LinuxMint

Совсем недавно стала доступна новая версия Python — Python 3.8. Теперь она доступна для скачивания и последующей установки каждому пользователю. В следующем руководстве будет показано, как установить Python 3.8 на операционные системы Ubuntu, Debian и LinuxMint. Подробнее о релизах Python можно узнать здесь.

Подготовка к установке Python 3.8 на Ubuntu, Debian и LinuxMint

Python 3.8 будет устанавливаться из исходника. По этой причине изначально требуется установить несколько библиотек разработки для компиляции исходного кода Python. Для установки всех необходимых компонентов для Python используется следующая команда:

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

Ошибка ImportError: No named ‘_tkinter’

Данная ошибка появляется из за того, что Tkinter не был установлен ДО компиляции Python. Сперва вам нужно установить Tkinter потом уже собрать нужную версию Python. Иначе, после установки Python вы никак не сможете устранить эту ошибку.

Скачать Python 3.8 для Ubuntu, Debian и LinuxMint

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

Распакуйте файл исходного кода из архива:

Компиляция исходного кода Python для Ubuntu, Debian и LinuxMint

Для компиляции исходного кода Python на систему Linux используйте указанный ниже набор команд, используя altinstall .

make altinstall используется для предотвращения замены бинарного файла Python, который по умолчанию в /usr/bin/python .

Проверка версии Python на системах Ubuntu, Debian и LinuxMint

Проверить текущую версию Python можно при помощи следующей команды. Версия в системе по умолчанию переписана не была, поэтому используем команду для Python 3.8, что следующая:

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

Являюсь администратором нескольких порталов по обучению языков программирования Python, Golang и Kotlin. В составе небольшой команды единомышленников, мы занимаемся популяризацией языков программирования на русскоязычную аудиторию. Большая часть статей была адаптирована нами на русский язык и распространяется бесплатно.

E-mail: vasile.buldumac@ati.utm.md

Образование
Universitatea Tehnică a Moldovei (utm.md)

  • 2014 — 2018 Технический Университет Молдовы, ИТ-Инженер. Тема дипломной работы «Автоматизация покупки и продажи криптовалюты используя технический анализ»
  • 2018 — 2020 Технический Университет Молдовы, Магистр, Магистерская диссертация «Идентификация человека в киберпространстве по фотографии лица»

Источник

Как скомпилировать python в файл .exe на Linux с pyinstaller?

Доброе время суток всем прогерам. Мне нужна помощь. Ситуация такая. Недавно начал изучать python. Если быть точнее, я сижу на Linux Mint 18 с установленными Python 2.7.12 и Python 3.5.2. Узнал такую тему, что файлы .py можно переиначивать в .exe (исполняемые файлы executable). Для этого установил себе pyinstaller. всё получается кроме одного. Вместо того, чтобы у меня получился файл блаблабла.exe у меня получается тупо файл без названия расширения, который никак не запустить. Наверное это файл ELF. Но как мне сделать настоящий EXEшник, работающий на винде?

Читайте также:  Wireshark нет интерфейсов windows

Я использовал команду pyinstaller -F -w /путь к/файлу.py
В программе подключается tkinter

Как скомпилировать python 3.3.3 в exe? Как забустить cx-Freeze что бы получить exe?
Здравствуйте, всем. Помогите, пожалуйста: Как скомпилировать python 3.3.3 в exe? Как забустить.

Как скомпилировать с Python Kivy, в один exe?
Что только не пробывал, через PyInstaller не пошло, через cz_freeze тоже. Одна и та же проблема -.

Как скомпилировать несколько файлов Python в один exe?
Здравствуйте, я написал калькулятор, но как скампилировать main и ui в один exe не знаю помогите.

Сборка приложения Python в .EXE через PyInstaller 3.4 и запуск в Windows XP
День добрый! На машине Windows 10 x64 устанавливаю: — pycharm-community-2018.3.6 x32 -.

Источник

Русские Блоги

Компиляция исходного кода Python в Linux

Загрузка ресурса: официальный сайт http://www.python.org может загрузить последнюю версию установочного пакета

1. Скачайте установочный пакет и разархивируйте

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

2. Войдите в распакованный пакет Python и выполните тестирование среды.

Обнаружение среды должно выполняться в этом каталоге, потому что во время процесса обнаружения будут вызываться другие модули в этом каталоге. —Prefix — это указанный путь установки, а другие конфигурации установки можно просмотреть с помощью —help.

3. Скомпилируйте и установите

make && make install

4. Обработка ошибок

4.1 Установочный пакет zlib отсутствует

Установите пакет zlib:

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

5. Установка завершена.

6. Подключитесь, чтобы сделать команды python3 доступными в любом каталоге оболочки.

【Описание】 Enterprise 8 поставляется с python3, повторная установка не требуется.

Интеллектуальная рекомендация

Используйте Maven для создания собственного архетипа скелета проекта (4)

Один, базовое введение в Maven Во-вторых, скачайте и настройте Maven Три, настроить домашнее зеркало на Али В-четвертых, создайте содержимое скелета архетипа В-пятых, создайте проект через архетип 6. .

Станция интерпретации больших данных B пользуется популярностью среди гигантов района «призрачные животные» Цай Сюкуня.

Автор | Сюй Линь Ответственный редактор | Ху Вэйвэй Предисловие Недавно Цай Сюкунь отправил письмо юриста на станцию ​​B. Содержание письма юриста показало, что «на станции B имеется большое кол.

Вопрос A: Алгоритм 7-15: алгоритм кратчайшего пути Дейкстры

Название Описание Во взвешенном ориентированном графе G для исходной точки v задача о кратчайшем пути от v до оставшихся вершин в G называется задачей кратчайшего пути с одной исходной точкой. Среди ш.

Учебный дневник — перелистывание страниц

Используйте плагин Layui.

Нулевое основание для отдыха-клиента

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

Вам также может понравиться

Подробно объясните, как новички используют sqlmap для выполнения инъекционных атак на базы данных mysql.

Шаг 1. Откройте для себя инъекцию Со мной все было нормально, когда я был свободен, я случайно нажал на чужой блог и обнаружил, что ссылка заканчивается на id, поэтому я проверил его вручную. Результа.

Vue заметки сортируют, пусть вам начать с Vue.js:. 04_3 Сетевое приложение: AXIOS плюс Вью

В предыдущем разделе мы ввели основное использование AXIOS, по сравнению с нативным Ajax, который при условии, что способ является более простым и, а сетевые данные теперь в состоянии получить его ров.

Шаблон алгоритма конной повозки

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

35 Line Code, чтобы получить метод исследования событий (ON)

Об авторе: Чжу Сяою,Личный публичный номер: языковой класс большой кошки Эта проблема научит вас этой большой классе Cat.Как написать наиболее эффективное метод исследования событий с 35 Line R Code C.

Образ докера: gitlab

GitLab Docker images Both GitLab CE and EE are in Docker Hub: GitLab CE Docker image GitLab EE Docker image The GitLab Docker images are monolithic images of GitLab running all the necessary services .

Читайте также:  Управление дисками через командную строку windows

Источник

Компиляция Python

Предположим, вы разработали приложение или библиотеку на Python и уже готовитесь передать его / её заказчику. И в этот момент возникают вопросы, о которых многие даже не задумываются.

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

Во-вторых, возникает вопрос окружения — хочется быть уверенным, что заказчик справится с установкой правильной версии Python и всех вспомогательных библиотек, но это не всегда простая задача. Было бы удобно упаковать приложение в автономный исполняемый файл.

И, наконец, хочется, чтобы конечное приложение работало быстрее, чем в среде разработки.

И вот тут настало время скомпилировать Python-код. Меня зовут Руслан, я старший разработчик компании «Цифровое проектирование». Сегодня я расскажу, как выбрать тот самый компилятор из множества доступных.

AOT/JIT

Компиляция – это сборка программы, включающая: трансляцию всех модулей программы, написанных на языке программирования высокого уровня, в эквивалентные программные модули на низкоуровневом языке, близком к машинному коду, или на машинном языке и сборку исполняемой программы. Существует два вида компиляции:

AOT-компиляция (ahead-of-time) – компиляция перед исполнением программы. Т.е. программа компилируется один раз, в результате компиляции получается исполняемый файл.

JIT-компиляция (just-in-time) – компиляция во время исполнения программы. Т.е. программа (а точнее, блоки программы) компилируется много раз — при каждом запуске.

Бенчмарк

Так как одной из целей является ускорение, необходимо оценить, насколько быстро работает скомпилированный код. В качестве бенчмарка будем использовать pyperfomance. К сожалению, pyperfomance не подошел для Cython и Pythran, потому что не позволяет визуализировать все возможности языка. Ускорения для Cython без модификации кода получить не удалось, а Pythran не умеет в пользовательские классы. Для них воспользуемся вычислением числа пи:

Эксперименты будем проводить на процессоре Intel Core i7 10510U. На CPython 3.9.7 время вычисления числа пи до 100.000.000 знака заняло 5.82 секунды.

AOT-компиляция Python

PyInstaller

PyInstaller упаковывает приложения Python в автономные исполняемые файлы в Windows, GNU / Linux, Mac OS X, FreeBSD, Solaris и AIX.

Устанавливается через pip:

pip install pyinstaller

После установки для создания исполняемого файла достаточно выполнить команду:

В результате будет создано:

*.spec – файл спецификации (используется для ускорения будущих сборок приложения, связи файлов данных с приложением, для включения .dll и .so файлов, добавление в исполняемый файл параметров runtime-а Python);

build/ – директория с метаданными для сборки исполняемого файла;

dist/ – директория, содержащая все зависимости и исполняемый файл.

Сборку приложения можно настроить с помощью параметров командной строки:

—name – изменение имени исполняемого файла (по умолчанию, такое же, как у сценария);

—onefile – создание только исполняемого файла (по умолчанию, папка с зависимостями и исполняемый файл);

—hidden-import – перечисление импортов, которые PyInstaller не смог обнаружить автоматически;

—add-data – добавление в сборку файлов данных;

—add-binary – добавление в сборку бинарных файлов;

—exclude-module – исключение модулей из исполняемого файла;

—key – ключ шифрования AES256. Да, приложение не будет содержать исходного кода, но его можно декомпилировать, например, так: Pyinstaller Extractor (.exe → .pyc) и uncompile6 (.pyc → .py). Для скрытия исходного кода можно обфусцировать байт-код Python с помощью шифрования.

У PyInstaller есть ограничения. Он работает с Python 3.5–3.9. Поддерживает создание исполняемых файлов для разных операционных систем, но не умеет выполнять кросскомпиляцию, т. е. необходимо генерировать исполняемый файл для каждой ОС отдельно. Более того, исполняемый файл зависит от пользовательского glibc, т. е. необходимо генерировать исполняемый файл для самой старой версии каждой ОС.

PyInstaller знает о многих Python-пакетах и умеет их учитывать при сборке исполняемого файла. Но не о всех. Например, фреймворк uvicorn практически весь нужно явно импортировать в файл, к которому будет применена команда pyinstaller. Полный список поддерживаемых из коробки пакетов можно посмотреть здесь.

Cython

Cython — это оптимизирующий статический компилятор как для языка программирования Python, так и для расширенного языка программирования Cython. С его помощью можно код на Python транслировать в С и затем скомпилировать в бинарник, совместимый с CPython. Компиляцию придется делать под все операционные системы и архитектуры процессора.

Ставится Cython через pip:

pip install Cython

Читайте также:  Подключил hdd с установленной windows

Рассмотрим его работу на примере с вычислением числа пи:

Немного модифицируем нашу функцию:

Cython → C:

cython -2 pi_approximater.pyx -o pi_approximater.c

Компилируем С-шный код:

gcc -g -O2 -shared -o pi_approximater.so pi_approximater.c python-config —includes —ldflags -fPIC

И замеряем время на бенчмарке: 3,66 секунды.

А что делать, если в нашем проекте несколько файлов, которые нужно скомпилировать? Тогда нужно использовать так называемый сценарий сборки. С его помощью можно модернизировать сборку в зависимости от операционной системы, указывать несколько файлов, которые необходимо скомпилировать, и многое другое.

Создадим файл build.py:

Запустим: python build.py build_ext –-inplace

В результате будет сгенерирован .so/.dll файл.

Nuitka

Nuitka способна упаковывать приложения Python в автономные исполняемые файлы, а также транслировать Python-код в С для его последующей компиляции. Работает с разными версиями Python (2.6, 2.7, 3.3 — 3.9).

Ставится через pip:

pip install nuitka

Для генерации исполняемого файла достаточно выполнить команду:

python -m nuitka —follow-import some_program.py

Для компиляции модуля:

python -m nuitka —module some_module.py

Для компиляции пакета:

python -m nuitka —module some_package —include-package = some_package

Pythran

Pythran – статический компилятор Python, позиционирующий себя как ориентированный на научные вычисления и использующий преимущества многоядерных процессоров и блоков инструкций SIMD. Он транслирует Python-код, аннотированный описаниями интерфейса, в C++. До версии 0.9.5 (включительно) Pythran поддерживал Python 3 и Python 2.7. Последние версии поддерживают только Python 3.

pip install pythran

Генерируем бинарный файл .so:

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

Top level statements can only be assignments, strings,functions, comments, or imports

Добавим комментарий аннотации функции:

Скомпилируем и бенчмарк выдает 0,00007 секунды.

cx-Freeze

cx-Freeze – это набор скриптов и модулей преобразования скриптов Python в исполняемые файлы. cx_Freeze — кроссплатформенный. Он поддерживает Python 3.5.2 и выше.

Ставится с помощью pip:

pip install cx_Freeze

Для генерации исполняемого файла достаточно выполнить команду:

Сборку можно настроить с помощью параметров командной строки:

-h, —help — справка;

-O — оптимизировать сгенерированный байт-код согласно PYTHONOPTIMIZE;

-c, —compress — сжать байт-код в zip-файлах;

-s, —silent — выводить только предупреждения и ошибки;

—target-dir=DIR, —install-dir=DIR — каталог, в который следует поместить целевой файл и все зависимые файлы.

Также возможно использование сценария сборки, например, так:

Сборка исполняемого файла:

python setup.py build

JIT-компиляция Python

JIT-компиляция не позволяет скрывать исходники или создавать автономный исполняемый файл, но дает возможность значительно ускорить выполнение программы.

PyPy

PyPy — интерпретатор языка программирования Python 2.7 и Python 3.7. Он написан на RPython и содержит:

компилятор байт-кода, отвечающий за создание объектов кода Python из исходного кода пользовательского приложения;

оценщик байт-кода, ответственный за интерпретацию объектов кода Python;

стандартное объектное пространство, отвечающее за создание и управление объектами Python, видимыми приложением.

PyPy поддерживает сотни библиотек Python, включая NumPy.

Основные особенности (сравнение с CPython):

Скорость. При выполнении длительно выполняющихся программ, когда значительная часть времени тратится на выполнение кода Python, PyPy может значительно ускорить ваш код.

Использование памяти. Программы Python, требующие много памяти (несколько сотен Мб или более), могут занимать меньше места, чем в CPython. Однако это не всегда так, поскольку зависит от множества деталей. Также базовый уровень потребления оперативной памяти выше, чем у CPython.

Скачать PyPy можно с здесь. После скачивания PyPy готов к запуску после распаковки архива. Если необходимо сделать PyPy доступным для всей системы, достаточно поместить символическую ссылку на исполняемый файл pypy в /usr/local/bin. Также можно поставить с помощью pyenv.

PyPy работает на Mac, Linux (не все дистрибутивы) или Windows.

Для запуска кода с помощью PyPy вместо команды python3 (как c помощью CPython) достаточно воспользоваться командой pypy3:

Pyston

Pyston — это форк CPython 3.8.8 с дополнительной оптимизацией производительности. В настоящее время он поддерживает установку только из исходников. Или с помощью pyenv.

В Pyston поддерживаются все возможности CPython, в том числе C API для разработки расширений на языке Си. Среди основных отличий Pyston от CPython помимо общих оптимизаций выделяется использование DynASM JIT и inline-кэширования.

Заключение

Итак, мы рассмотрели 5 фреймворков AOT-компиляции Python. Для любителей аналитики, ниже приведена таблица со сравнительным анализом.

PyInstaller

Cython

Nuitka

Pythran

cx-Freeze

Генерация автономных исполняемых файлов

Компиляция python-модуля в исполняемый файл, совместимый с CPython

Источник

Оцените статью