Как запустить скомпилированный файл linux
Перейти к содержимому

Как запустить скомпилированный файл linux

  • автор:

�� Как скомпилировать Python файл в Linux: подробный гайд

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

python3 имя_файла.py

Где имя_файла.py — это имя вашего файла Python.

Детальный ответ

Как скомпилировать python файл в Linux

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

Шаг 1: Установка компилятора Cython

Чтобы начать процесс компиляции, вам нужно убедиться, что на вашей системе установлен компилятор Cython. Если он уже установлен, перейдите к следующему шагу, в противном случае выполните следующую команду в терминале:

 sudo apt-get install cython 

Шаг 2: Создание файла setup.py

Далее создайте файл с именем «setup.py». Этот файл будет содержать инструкции о том, как собрать исходный код Python в исполняемый файл. Вот пример простого файла «setup.py»:

 from distutils.core import setup from Cython.Build import cythonize setup(ext_modules=cythonize("your_script.py")) 

В этом примере мы используем модуль Cython.Build для компиляции исходного кода Python в C-код, а затем в исполняемый файл. Замените «your_script.py» на имя вашего Python файла, который вы хотите скомпилировать.

Шаг 3: Компиляция Python файла

После создания файла «setup.py» выполните следующую команду в терминале, чтобы скомпилировать Python файл:

 python setup.py build_ext --inplace 

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

Запуск скомпилированного файла

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

 ./your_script 

Здесь «your_script» — это имя скомпилированного файла без расширения .py.

Заключение

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

Запуск скомпилированного файла в ubuntu

Всем привет , интересуюсь c++ , вот появился вопрос , скомпилировал я код, появляется у меня скомпилированный файл который надо запустить , но он в формате exe , wine у меня не установлен , можно ли сделать чтобы компилятор создал программу не в .exe формате а в том формате , который я бы смог открыть через ubuntu ? Либо сделать универсальный формат , если есть такой .

Отслеживать
9,066 14 14 серебряных знаков 27 27 бронзовых знаков
задан 11 окт 2016 в 23:40
1,393 19 19 серебряных знаков 49 49 бронзовых знаков

1 Что мешает вам скомпилировать код в gcc под Убунтой для нативной платформы? 2 Что мешает вам в Убунте установить и настроить wine?

12 окт 2016 в 1:46

Я в курсе про Wine , меня интересует можно ли задать правило компилятору , чтобы он создал бинарник не в .exe формате , а в том на который нажав мышкой 2 раза , он откроется как и с .exe на винде

12 окт 2016 в 2:01

Если вы под Убунтой в gcc компилируете exe-файл, то есть исполняемый файл для платформы win-32, если я вас правильно понял, тогда сами понимаете, что это возможно, так как gcc по умолчанию, компилирует под нативную платформу (x86_64). Только, как вам написали в ответе, не всякий код написанный под одну платформу, без учёта кросс-компиляции, возможно сходу собрать под другой.

12 окт 2016 в 2:18
g++ -o hello main.cpp , он не компилирует под ubuntu , такойже обычный .exe файл
12 окт 2016 в 11:20

я вас понял , но вопрос был в том что , как через gcc скомпилировать исполняемый файл для ubuntu так , чтобы он открылся при нажатии на него 2йным щелчком ( также как .exe в винде)

12 окт 2016 в 22:35

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Кривой путь: гуглить про кросс-компиляцию. Например, если Cygwin, то (примерно, давно такой ерундой не занимался):

  1. Качаем последнюю версию crosstool-ng
  2. Распаковываем её куда-нибудь в cygwin shell, запускаем ./configure (доустанавливаем то, на что она матерится — bison, flex, cvs, wget, исходники/библиотеку ncurses, и т.д.)
  3. make , make install , и дальше — по инструкциям отсюда.

Неожиданный путь: поставить Open Watcom для Windows (при установке не забыть поставить галочку у Linux в target platform). Создание нового проекта в нём:

введите сюда описание изображения

Может прокатить 🙂 Хотя поддержки последних стандартов от него ждать не приходится, но «Hello, world» исправно собирает 🙂

Правильный путь: поставить убунту в виртуалке и собирать в ней.

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

Либо сделать универсальный формат , если есть такой .

Как запустить скомпилированный файл linux

Страница сгенерирована за 0.043 секунд. Запросов: 25.

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Как запустить скомпилированную программу в Linux ( Ubuntu ) без терминала?

Пытаюсь начать программировать в Linux, и сразу вопрос проблема. В Windows написал код, скомпилировал, получил на выходе ЕХЕшник. Двойной щелчок по программе, она запустилась. В Linux написал простую программу на С в блокноте ( для начала ), скомпилировал gcc prog.c -o prog, получил на выходе файл. Но Я ее могу запустить только через терминал командой ./prog .А как запускать программы по двойному щелчку мыши? А если вы еще дадите простой код с кнопкой и обработкой события по нажатию этой кнопки или любую другую полезную информацию по этой теме ( кроссплатформенность например ), Я вам искренне буду благодарен. Хочется дальше развиваться.

  • Вопрос задан более трёх лет назад
  • 2846 просмотров

2 комментария

Простой 2 комментария

Попробуй sudo chmod +x *Название файла*.
Эта команда разрешит исполнение файла.

Попробуй sudo chmod +x *Название файла*.

Я ее могу запустить только через терминал командой ./prog

Решения вопроса 1

leahch

Алексей Черемисин @leahch Куратор тега Linux
Я мастер на все руки, я козлик Элек Мэк ��

В линуксе, как и в виндовс, как и во всех остальных операционных системах (мне знакомых), есть два типа программ: консольные и с графическим интерфейсом.
Консольные программы требуют наличия какого-то терминала или консоли, соответсвенно их хоть и можно запустить по двойному щелчку, не всегда результат их работы будет виден, если дополнительно не указать в каком окружении их запускать.

Про программы с графическим интерфейсом все просто — они сразу пытаются открыть графическое окно. Но сама программа будет немного сложнее.

Так, Вы сделали и скомпилировали консольную программу. В этом же терминале можно ее и запустить.
Либо сделать «лаунчер» типа
xterm ./prog
Как сделать «лаунчер», зависит от вашего графического окружения, но обычно можно просто сделать desktop-файл, его практически все в линуксе понимают.
Просто создайте текстовый файл prog.Desktop со следующим содержимым (Exec — полный путь до вашей программы, Icon — путь до иконки, но можно без нее)

[Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application Terminal=true Exec=/path/to/executable Name=Name of Application Icon=/path/to/icon

ЗЫ. Да, забыл напомнить, сделайте в вашей программе выход по ожиданию нажатия на клавишу, иначе можно ничего и не рассмотреть!

Запуск бинарника, скомпилированного на другой машине

вопросы: на что он ругается (файл не модифицирован)? надо прикрутить какие-то библиотеки? как их вычислить? есть ли хоть какая-нибудь вероятность добиться выполнения приложения на том, что имею? как?

заранее благодарю за помощь!

sa174
01.09.10 13:42:50 MSD

проблема: при попытке запуска получаю сообщение: «Нет такого файла или каталога»

Бинарник исполняемый? chmod a+x бинарник

надо прикрутить какие-то библиотеки? как их вычислить?

vga ★★
( 01.09.10 13:47:51 MSD )
Ответ на: комментарий от vga 01.09.10 13:47:51 MSD

>Бинарник исполняемый? chmod a+x бинарник

насколько помню (дело было ночью), так же выругался. проверю вечером.

sa174
( 01.09.10 13:50:42 MSD ) автор топика

А как насчет классической грабли с рабочим каталогом?

anonymous
( 01.09.10 14:10:20 MSD )
Ответ на: комментарий от sa174 01.09.10 13:50:42 MSD

>насколько помню (дело было ночью), так же выругался. проверю вечером.

Тогда стоит попробовать ‘objdump -x бинарник | grep NEEDED’ и проверить наличие библиотек вручную.

Если же бинарник требует какой-то файл или библиотеку через dlopen() в рантайме, то должен помочь strace.

Sion
( 01.09.10 14:12:17 MSD )

>при попытке запуска получаю сообщение: «Нет такого файла или каталога»

Отсюда поподробнее, как именно запускаешь?

novitchok ★★★★★
( 01.09.10 14:14:04 MSD )
Ответ на: комментарий от anonymous 01.09.10 14:10:20 MSD

>А как насчет классической грабли с рабочим каталогом?

с этого места поподробнее, если можно

sa174
( 01.09.10 14:15:52 MSD ) автор топика
Ответ на: комментарий от novitchok 01.09.10 14:14:04 MSD

>Отсюда поподробнее, как именно запускаешь?

Запуск скомпилированного файла в ubuntu

Всем привет , интересуюсь c++ , вот появился вопрос , скомпилировал я код, появляется у меня скомпилированный файл который надо запустить , но он в формате exe , wine у меня не установлен , можно ли сделать чтобы компилятор создал программу не в .exe формате а в том формате , который я бы смог открыть через ubuntu ? Либо сделать универсальный формат , если есть такой .

Отслеживать
9,066 14 14 серебряных знаков 26 26 бронзовых знаков
задан 11 окт 2016 в 23:40
1,395 19 19 серебряных знаков 49 49 бронзовых знаков

1 Что мешает вам скомпилировать код в gcc под Убунтой для нативной платформы? 2 Что мешает вам в Убунте установить и настроить wine?

12 окт 2016 в 1:46

Я в курсе про Wine , меня интересует можно ли задать правило компилятору , чтобы он создал бинарник не в .exe формате , а в том на который нажав мышкой 2 раза , он откроется как и с .exe на винде

12 окт 2016 в 2:01

Если вы под Убунтой в gcc компилируете exe-файл, то есть исполняемый файл для платформы win-32, если я вас правильно понял, тогда сами понимаете, что это возможно, так как gcc по умолчанию, компилирует под нативную платформу (x86_64). Только, как вам написали в ответе, не всякий код написанный под одну платформу, без учёта кросс-компиляции, возможно сходу собрать под другой.

12 окт 2016 в 2:18
g++ -o hello main.cpp , он не компилирует под ubuntu , такойже обычный .exe файл
12 окт 2016 в 11:20

я вас понял , но вопрос был в том что , как через gcc скомпилировать исполняемый файл для ubuntu так , чтобы он открылся при нажатии на него 2йным щелчком ( также как .exe в винде)

12 окт 2016 в 22:35

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Кривой путь: гуглить про кросс-компиляцию. Например, если Cygwin, то (примерно, давно такой ерундой не занимался):

  1. Качаем последнюю версию crosstool-ng
  2. Распаковываем её куда-нибудь в cygwin shell, запускаем ./configure (доустанавливаем то, на что она матерится — bison, flex, cvs, wget, исходники/библиотеку ncurses, и т.д.)
  3. make , make install , и дальше — по инструкциям отсюда.

Неожиданный путь: поставить Open Watcom для Windows (при установке не забыть поставить галочку у Linux в target platform). Создание нового проекта в нём:

введите сюда описание изображения

Может прокатить �� Хотя поддержки последних стандартов от него ждать не приходится, но «Hello, world» исправно собирает ��

Правильный путь: поставить убунту в виртуалке и собирать в ней.

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

Либо сделать универсальный формат , если есть такой .

Как скомпилировать программу в LInux

wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 14 человек(а).

Количество просмотров этой статьи: 8541.

В этой статье:

Исходный код — это компьютерная программа в читабельной форме. Но компьютер не может запустить исходный код – для этого его нужно скомпилировать в программу.

Step 1 Скачайте исходный код (программы или драйвера) из интернета.

Скачайте исходный код (программы или драйвера) из интернета. Скорее всего, вы скачаете архив с расширением .tar, .tar.bz2, .tar.gz. или .zip (редко).

Step 2 Распакуйте архив.

Распакуйте архив. Для .zip используйте команду unzip имя_файла; для .tgz или .tar.gz используйте команду tar -zxvf имя_файла; для .bz2 используйте команду tar -jxvf имя_файла; или используйте графический интерфейс.

Step 3 В терминале перейдите в распакованный каталог (cd dirИмя).

В терминале перейдите в распакованный каталог (cd dirИмя).

Step 4 Выполните команду .

Выполните команду ./configure, чтобы автоматически сконфигурировать исходный код. Используйте аргумент —prefix= для указания каталога для установки. Команда проверит наличие нужных библиотек.

Step 5 После настройки выполните.

После настройки выполните команду make, которая скомпилирует программу (это может занять от нескольких секунд до нескольких часов). Исполняемый файл программы будет помещен в каталог bin (в каталоге с исходным кодом).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *