Как скомпилировать Python в Linux

Обновлено: 02.07.2024


Добро пожаловать в Python! В этом руководстве показано, как начать писать программы.

Программы Python представляют собой не что иное, как текстовые файлы, и их можно редактировать с помощью стандартного текстового редактора. [1] Какой текстовый редактор вы используете, вероятно, зависит от вашей операционной системы: любой текстовый редактор может создавать программы Python. Однако проще использовать текстовый редактор с подсветкой синтаксиса Python.

Привет, мир [ редактировать | изменить источник ]

Самая первая программа, которую обычно пишут или изучают начинающие программисты, это "Hello, World!" программа. Эта программа просто выводит фразу «Hello, World!» затем прекращает себя. Давайте напишем "Hello, World!" на Питоне!

Откройте текстовый редактор и создайте новый файл с именем hello.py, содержащий только эту строку (вы можете скопировать и вставить, если хотите):

Строка ниже используется для Python 3.x.x

Вы также можете поместить строку ниже, чтобы приостановить программу в конце, пока вы ничего не нажмете.

Эта программа использует функцию печати, которая просто выводит свои параметры на терминал. По умолчанию print добавляет к своему выводу символ новой строки, который просто перемещает курсор на следующую строку.

Примечание:
В Python 2.x print — это оператор, а не функция. Таким образом, его можно использовать без круглых скобок, и в этом случае он печатает все до конца строки и принимает отдельную запятую после последнего элемента в строке, чтобы указать многострочный оператор. В Python 3.x print — это правильная функция, ожидающая свои аргументы в круглых скобках. Использование печати со скобками (как указано выше) совместимо с Python 2.x, и использование этого стиля обеспечивает независимость от версии.


Теперь, когда вы написали свою первую программу, давайте запустим ее на Python! Этот процесс немного отличается в зависимости от вашей операционной системы.

Windows [ редактировать | изменить источник ]

  • Создайте папку на своем компьютере для программ Python, например C:\pythonpractice , и сохраните программу hello.py в этой папке.
  • В меню "Пуск" выберите "Выполнить" и введите cmd . Это приведет к открытию терминала Windows.
  • Введите cd \pythonpractice, чтобы изменить каталог на папку pythonpractice, и нажмите Enter.
  • Введите hello.py, чтобы запустить программу!

Если это не сработало, убедитесь, что ваш PATH содержит каталог python. См. Получение Python.

Mac [ редактировать | изменить источник ]

  • Создайте папку на своем компьютере, чтобы использовать ее для программ Python. Хорошим предложением было бы назвать его pythonpractice и поместить в домашнюю папку (та, которая содержит папки для документов, фильмов, музыки, изображений и т. д.). Сохраните в нем вашу программу hello.py. Откройте папку «Программы», перейдите в папку «Утилиты» и откройте программу «Терминал».
  • Введите cd pythonpractice, чтобы изменить каталог на папку pythonpractice, и нажмите Enter.
  • Введите python ./hello.py, чтобы запустить программу!

Примечание:
Если у вас установлены и Python 2, и Python 3 (на вашем компьютере установлена ​​версия Python 2, но вы также можете установить Python 3), вам следует запустить python3 hello.py

Линукс [ редактировать | изменить источник ]

  • Создайте папку на своем компьютере для программ Python, например ~/pythonpractice , и сохраните программу hello.py в этой папке.
  • Откройте терминальную программу. В KDE откройте главное меню и выберите «Выполнить команду», чтобы открыть консоль. В GNOME откройте главное меню, откройте папку «Приложения», откройте папку «Стандартные» и выберите «Терминал».
  • Введите cd ~/pythonpractice, чтобы изменить каталог на папку pythonpractice, и нажмите Enter.
  • Не забудьте сделать скрипт исполняемым с помощью chmod +x.
  • Введите python ./hello.py, чтобы запустить программу!

Примечание:
Если у вас установлены версии Python 2.6.1 и Python 3.0 (очень возможно, если вы используете Ubuntu и запустили sudo apt-get install python3, чтобы установить python3), вам следует запустить python3 hello .py

Linux (расширенный) [ редактировать | изменить источник ]

  • Создайте на своем компьютере папку для программ Python, например ~/pythonpractice .
  • Откройте свой любимый текстовый редактор и создайте новый файл с именем hello.py, содержащий всего две следующие строки (вы можете скопировать и вставить, если хотите): [2]

Примечание:
Если у вас установлены Python версии 2.6.1 и версии 3.0 (очень возможно, если вы используете дистрибутив Debian или на основе Debian (*buntu, Mint, …) и запустили sudo apt- get install python3, чтобы установить python3), используйте

  • сохраните программу hello.py в папке ~/pythonpractice.
  • Откройте терминальную программу. В KDE откройте главное меню и выберите «Выполнить команду», чтобы открыть консоль. В GNOME откройте главное меню, откройте папку «Приложения», откройте папку «Стандартные» и выберите «Терминал».
  • Введите cd ~/pythonpractice, чтобы изменить каталог на папку pythonpractice, и нажмите Enter.
  • Введите chmod a+x hello.py, чтобы сообщить Linux, что это исполняемая программа.
  • Введите ./hello.py, чтобы запустить программу!
  • Кроме того, вы также можете использовать ln -s hello.py /usr/bin/hello, чтобы создать символическую ссылку hello.py на /usr/bin под именем hello, а затем запустить ее, просто выполнив команду hello.

Обратите внимание, что это в основном должно быть сделано для полных, скомпилированных программ. Если у вас есть скрипт, который вы создали и часто используете, то, возможно, было бы неплохо поместить его где-нибудь в вашем домашнем каталоге и поместить ссылку на него в /USR/бен. Если вам нужна игровая площадка, хорошей идеей будет вызвать mkdir ~/.local/bin, а затем поместить туда скрипты. Чтобы сделать содержимое ~/.local/bin исполняемым так же, как /usr/bin, введите $PATH = $PATH:~/local/bin (эту строку можно добавить в rc-файл оболочки, например ~/.bashrc).

Примечание:
Расширения файлов не нужны в UNIX-подобных файловых системах. Для Linux hello.py означает то же самое, что и hello.txt, hello.mp3 или просто hello. Linux в основном использует содержимое файла, чтобы определить его тип.

Результат [ редактировать | изменить источник ]

Программа должна напечатать:

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

2.1. Получение и установка последней версии Python¶

2.1.1. В Linux¶

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

Если Python не предустановлен и отсутствует в репозиториях, вы можете легко создать пакеты для своего дистрибутива. Взгляните на следующие ссылки:

для пользователей Debian

для пользователей OpenSuse

для пользователей Fedora

для пользователей Slackware

2.1.2. Во FreeBSD и OpenBSD¶

Пользователи FreeBSD, для добавления пакета используйте:

Пользователи OpenBSD, для добавления пакета используйте:

Например, пользователи i386 получают версию Python 2.5.1, используя:

2.1.3. В OpenSolaris¶

Вы можете получить Python из OpenCSW. Доступны различные версии Python, которые можно установить, например, с помощью pkgutil -i python27 .

2.2. Сборка Python¶

Если вы хотите скомпилировать CPython самостоятельно, первое, что вам нужно сделать, это получить исходный код. Вы можете загрузить либо исходный код последней версии, либо просто получить свежий клон. (Если вы хотите внести исправления, вам понадобится клон.)

Процесс сборки состоит из обычных команд:

Варианты конфигурации и предостережения для конкретных платформ Unix подробно описаны в файле README.rst в корне исходного дерева Python.

make install может перезаписать или замаскировать двоичный файл python3. поэтому рекомендуется использовать make altinstall вместо make install, так как он устанавливает только exec_prefix /bin/python версию .

2.3. Пути и файлы, связанные с Python¶

Они могут различаться в зависимости от местных правил установки; prefix ( $ ) и exec_prefix ( $ ) зависят от установки и должны интерпретироваться как для программного обеспечения GNU; они могут быть одинаковыми.

Например, в большинстве систем Linux по умолчанию для обеих систем используется /usr .

Рекомендуемое местонахождение переводчика.

префикс /lib/python версия , префикс_exec /lib/python версия

Рекомендуемое расположение каталогов, содержащих стандартные модули.

префикс /include/python версия , префикс_exec /include/python версия

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

2.4. Разное¶

Чтобы легко использовать скрипты Python в Unix, вам нужно сделать их исполняемыми, например. с

и поместите соответствующую строку Shebang в начало скрипта. Обычно хороший выбор

который ищет интерпретатор Python по всему PATH . Однако в некоторых системах Unix команда env может отсутствовать, поэтому вам может потребоваться жестко указать /usr/bin/python3 в качестве пути интерпретатора.

Чтобы использовать команды оболочки в сценариях Python, просмотрите модуль подпроцесса.

2.5. Пользовательский OpenSSL¶

Чтобы использовать конфигурацию OpenSSL вашего поставщика и системное хранилище доверенных сертификатов, найдите каталог с файлом openssl.cnf или символической ссылкой в ​​/etc . В большинстве дистрибутивов файл находится либо в /etc/ssl, либо в /etc/pki/tls. Каталог также должен содержать файл cert.pem и/или каталог сертификатов.

Загрузите, соберите и установите OpenSSL. Убедитесь, что вы используете install_sw, а не install . Цель install_sw не переопределяет openssl.cnf .

Сборка Python с помощью пользовательского OpenSSL (см. параметры конфигурации –with-openssl и –with-openssl-rpath)

Выпуски исправлений OpenSSL имеют обратно совместимый ABI. Вам не нужно перекомпилировать Python для обновления OpenSSL. Достаточно заменить пользовательскую установку OpenSSL более новой версией.

Это небольшая статья о сборке Python 3.7 из исходного кода в Ubuntu 18.04 или Debian 10 Linux. На момент написания этой статьи в Ubuntu LTS версия Python по умолчанию — 3.6, а в стабильной версии Debian — Python 3.7.3 (которая немного старше текущей стабильной версии Python).

Python 3.7 содержит гораздо больше улучшений по сравнению со старыми версиями. Вы можете прочитать больше о том, что нового в Python 3.7, здесь. Процедура, описанная в этом руководстве, также работает с подсистемой Windows для Linux, WSL, также известной как Bash в Ubuntu для Windows, и она должна работать с последней версией Raspbian на устройстве Raspberry Pi.

Еще одно преимущество сборки Python из исходного кода заключается в том, что вы сможете установить последние версии различных библиотек, таких как OpenCV, Pillow и т. д. В качестве примера в конце статьи я покажу вам, как использовать pip для установки библиотеки изображений Pillow.

Во-первых, убедитесь, что ваша система полностью обновлена:

Затем установите wget и цепочку инструментов GCC по умолчанию с помощью:

Нам также потребуется установить несколько предварительных компонентов для сборки Python:

Если вы хотите иметь возможность разрабатывать приложения с графическим интерфейсом с помощью Python, вам также потребуется создать модуль Tkinter:

Далее мы собираемся получить последнюю стабильную версию Python, собрать ее и установить в /opt. Мы хотим, чтобы это было полностью изолировано от системы Python.

На момент написания этой статьи последней стабильной версией Python была 3.7.4. Если вы хотите использовать более новую версию, измените следующие инструкции соответствующим образом:

Далее временно добавьте Python в PATH. Обратите внимание, что пока вы не закроете Терминал или не выйдете из системы, это временно затенит системный python3 по умолчанию.

После вышеизложенного вы можете вызвать новый интерпретатор Python с помощью:

Если вы хотите или вам нужно вернуться к версии системы Python по умолчанию, закройте и снова откройте терминал или выйдите из системы и снова войдите в нее.

Пришло время написать небольшую тестовую программу:

Вот что я увижу, если запущу приведенный выше код на своем компьютере с Debian:

Как и обещал, в качестве необязательного примера я покажу вам, как установить библиотеку Python 3.7 с помощью pip. Чтобы следовать рекомендациям, я установлю новую библиотеку в виртуальной среде:

Первая строка выше создаст виртуальную среду с именем py3.7.4-env. Вторая строка активирует среду. Последняя строка обновит локальный менеджер пакетов pip. После активации среды вы можете просто использовать команды python и pip. Любые изменения, которые вы делаете внутри среды, будут действовать только в соответствующей среде, глобальный установленный интерпретатор Python и библиотеки не будут затронуты.

Вот короткая демонстрационная программа, которая распечатает версию Pillow:

Имейте в виду, что каждый раз, когда вы хотите использовать среду py3.7.4-env, вам нужно сначала активировать ее. Кроме того, после выхода или перезапуска терминала python3 запустит системную установку Python. Чтобы иметь возможность использовать Python 3.7.4, активируйте среду py3.7.4-env или добавьте версию Python из /opt в PATH, как мы делали ранее.

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

Примечание: если вам нужно установить скомпилированный Python более чем на одну машину, перейдите в /opt и заархивируйте уже собранный Python. Вот возможный рабочий процесс:

После этого вы получите архив .tar.bz в своей домашней папке. Скопируйте архив на новую машину и распакуйте, если нужно /opt. Затем установите необходимые компоненты, как в начале этой статьи. Пропустите часть сборки.

Если вы хотите узнать больше о Python, я рекомендую прочитать Python Crash Course Эрика Маттеса:


Еще одна хорошая книга по Python для более продвинутых пользователей — это Python Playground Махеша Венкитачалама:

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

Условие:

Чтобы сначала скомпилировать скрипт Python в файл .exe, нам нужен скрипт Python. Здесь мы создали простой скрипт Python, который дает вам простой беспорядок при нажатии одной кнопки.

Как скомпилировать скрипт Python для Windows:

Мы собираемся использовать три библиотеки Python для компиляции скрипта Python в исполняемый файл для Windows

Шаг 1:

Чтобы установить pyinstaller, используйте следующую команду в командной строке.

Pyinstaller. С помощью PyInstaller вы можете объединить приложение Python и все пакеты, от которых оно зависит, в один компактный исполняемый файл. Это снижает потребность в установке десятков или сотен пакетов при развертывании приложения или помощи учащимся в настройке среды программирования. PyInstaller поддерживает Python 2 и выше.

Шаг 2:

Создайте папку и сохраните в ней скрипт Python. Например, мы создали папку с именем exe_app и сохранили в ней мой скрипт Python с именем app.py.

Шаг 3:

Откройте командную строку в той же папке, где сохранен наш скрипт Python, введите следующую команду и нажмите клавишу ввода.

Вывод:

Шаг 4:

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

Вы можете открыть файл app.exe, чтобы увидеть, как он работает как обычное приложение Windows, вы можете нажать кнопку приветствия, которая показывает сообщение.

2. Компиляция скрипта с использованием библиотеки Py2exe:

Шаг 1:

Чтобы установить Py2exe, используйте следующую команду в командной строке.

Py2exe: библиотека py2exe аналогична библиотеке pyinstaller.

Шаг 2:

Вам необходимо создать новый файл setup.py в том же каталоге, где находится скрипт. Этот файл содержит следующие параметры.

вместо app.py вы можете добавить имя файла python. И если ваш скрипт работает в консоли, замените окна на консоль.

Шаг 3:

Откройте командную строку в той же папке, где сохранен наш скрипт Python, введите следующую команду и нажмите клавишу ввода.

Шаг 4:

После запуска в корневой папке создается папка с кодом dist, а в папке dist вы можете обнаружить, что создается файл app.exe.

3. Компиляция скрипта с использованием библиотеки auto-py-to-exe:

Шаг 1:

Чтобы установить auto-py-to-exe, используйте следующую команду в командной строке.

auto-py-to-exe (инструмент с графическим интерфейсом): auto-py-to-exe также является библиотекой, которая преобразует скрипты Python в исполняемые программы Windows, которые можно запускать без установки Python. Но у него есть графический интерфейс.

Шаг 2:

Чтобы открыть auto-py-to-exe, используйте следующую команду в командной строке.

Вывод:

Как видите, открывается графический интерфейс, который не требует пояснений. Вам просто нужно выбрать файл app.py и выбрать то, что вы хотите в данной опции, и нажать на convert.py в .exe, и все. Затем он автоматически откроет папку исполняемого файла, который вы запускаете.

Как скомпилировать скрипт Python для Linux:

Шаг 1:

Для Linux мы также можем использовать библиотеку pyinstaller, но для компиляции скрипта Python для Linux нам нужно выполнить этот процесс в системе Linux, иначе он автоматически создаст файл .exe

Чтобы установить pyinstaller, используйте следующую команду в терминале.

Шаг 2:

То же, что и перед созданием папки и сохранением в ней скрипта Python. Например, мы создали папку с именем exe_app и сохранили в ней мой скрипт Python с именем app.py.

Шаг 3:

Откройте терминал в той же папке, где сохранен наш скрипт Python, введите следующую команду и нажмите клавишу ввода.

Вывод:

Шаг 4:

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

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

Вывод:

Иногда бывает необходимо скомпилировать (собрать) скрипт Python в исполняемый файл, который можно запускать независимо от среды Python. Python поставляется со встроенными инструментами для этого сам по себе, и в этом посте мы рассмотрели множество типов библиотек Python, с помощью которых вы можете легко создать автономную исполняемую программу в Windows и Linux. для систем Windows мы использовали pyinstaller и py2exe. Мы также рассмотрели auto-py-to-exe, графический интерфейс для автоматической компиляции скриптов. Для Linux мы рассмотрели pyinstaller. Все эти методы просты в использовании, и если у вас есть какие-либо вопросы, не стесняйтесь комментировать ниже!

Читайте также: