Как сделать так, чтобы программа запускалась без питона?
Есть игра, на pygame. Я запускаю её через программу python 3.8.1. Но вот для примера на пк стоит pubg у меня. Чтобы его запустить не скачивался же c++. Ну и мне надо сделать так, чтобы прога работала без приложения питон
-
Вопрос задан
-
5020 просмотров
В консоли прописывайте — pip install pyinstaller
переходите в директорию с вашим не скомпилированным скриптом,
к примеру — cd C:\Python\test\
Дальше прописываете pyinstaller -F -w имявашегоскрипта.py
после компиляции в папке dist появится exe вашей программы.
А при запуске консоль не будет вылазить.
Надеюсь я вам помог…
Пригласить эксперта
Ну да, c++ компилируемый яп, а питон — интерпретируемый. Чтобы скомпилировать питоновский файл, нужно воспользоваться какой-нибудь прогой, например pyinstaller
-
Показать ещё
Загружается…
09 окт. 2023, в 15:21
1500 руб./за проект
09 окт. 2023, в 15:04
50000 руб./за проект
09 окт. 2023, в 14:50
7000 руб./за проект
Минуточку внимания
I created some data processing scripts and they need to be executed on daily bases , but the number of PCs are nearly 150 and i cant manually Python install on all of them.
So i need a way to get these working on those Windows systems, i tried PyInstaller to create exe and placed it on server but the script execution is taking a lot of time in initial phase (program execution is the same but takes time to load with a blinking cursor) maybe it’s the load of the dependencies , file is nearly 36 MB.
Is there a possible way to execute that .py file in an environment without python installed or creating a python environment and setting up paths variables using a .bat script in the host PC? What other options do I have without asking everyone to manually install anything? I heard that docker can be used in such case but working in a local environment should I deploy such a thing?
I have written a simple python script, and I need to run it as an executable, i.e., without the ‘python’ word at the beginning of the program. The script (simple_prog.py) is :
#!C:\Python27\python.exe
print «Hello World»
Whenever I am running the script as ‘python simple_prog.py’, it is printing the output alright, but without that, it is printing nothing (image below).
I have also referred to the «How do I make Python scripts executable?» section in the site https://docs.python.org/3/faq/windows.html#id3, from the stackoverflow question How to make python scripts executable on Windows? , but could not understand the solution.
Thanks.
Update :
Solved the problem from the stackoverflow link : Set up Python on Windows to not type python in cmd
This is what I followed (image below)
Please note the position of double-quotes in the ftype command.
The second command (simple_prog) ran successfully because I updated the PATHEXT variable by adding «.PY» in it.
Thanks for the responses as well as the downvotes.
Код, написанный на языке Python, может храниться в редакторе кода, IDE или файле. И он не будет работать, если не знать, как его правильно запускать.
В этом материале рассмотрим 7 способов запуска кода, написанного на Python. Они будут работать вне зависимости от операционной системы, среды Python или местоположения кода.
Python-код можно запустить одним из следующих способов:
- С помощью командной строки операционной системы (shell или терминал);
- С помощью конкретной версии Python или Anaconda;
- Использовать Crontab;
- Запустить код с помощью другого Python-скрипта;
- С помощью файлового менеджера;
- Использовать интерактивный режим Python;
- Использовать IDE или редактор кода.
Запуск Python-кода интерактивно
Для запуска интерактивной сессии нужно просто открыть терминал или командную строку и ввести python
(или python3
в зависимости от версии). После нажатия Enter запустится интерактивный режим.
Вот как запустить интерактивный режим в разных ОС.
Интерактивный режим в Linux
Откройте терминал. Он должен выглядеть приблизительно вот так :
После нажатия Enter будет запущен интерактивный режим Python.
Интерактивный режим в macOS
На устройствах с macOS все работает похожим образом. Изображение ниже демонстрирует интерактивный режим в этой ОС.
Интерактивный режим в Windows
В Windows нужно открыть командную строку и ввести python
. После нажатия Enter появится приблизительно следующее:
Запуск Python-скриптов в интерактивном режиме
В таком режиме можно писать код и исполнять его, чтобы получить желаемый результат или отчет об ошибке. Возьмем в качестве примера следующий цикл.
Этот код должен выводить целые числа от 0 до 5. В данном случае вывод — все, что появилось после print(i)
.
Для выхода из интерактивного режима нужно написать следующее:
И нажать Enter. Вы вернетесь в терминал, из которого и начинали.
Есть и другие способы остановки работы с интерактивным режимом Python. В Linux нужно нажать Ctrl + D, а в Windows — Ctrl + Z + Enter.
Стоит отметить, что при использовании этого режима Python-скрипты не сохраняются в локальный файл.
Как выполняются Python-скрипты?
Отличный способ представить, что происходит при выполнении Python-скрипта, — использовать диаграмму ниже. Этот блок представляет собой скрипт (или функцию) Python, а каждый внутренний блок — строка кода.
Первая строка (кода):
Вторая = строка кода
Третья строка > кода:
Четвертая (строка == кода)
Пятая строка кода
При запуске скрипта интерпретатор Python проходит сверху вниз, выполняя каждую из них. Именно таким образом происходит выполнение кода.
Но и это еще не все.
Блок-схема выполнения кода интерпретатором
- Шаг 1: скрипт или .py-файл компилируется, и из него генерируются бинарные данные. Готовый файл имеет расширение .pyc или .pyo.
- Шаг 2: генерируется бинарный файл. Он читается интерпретатором для выполнения инструкций.
Это набор инструкций, которые приводят к финальному результату.
Иногда полезно изучать байткод. Если вы планируете стать опытным Python-программистом, то важно уметь понимать его для написания качественного кода.
Это также пригодится для принятия решений в процессе. Можно обратить внимание на отдельные факторы и понять, почему определенные функции/структуры данных работают быстрее остальных.
Как запускать Python-скрипты?
Для запуска Python-скрипта с помощью командной строки сначала нужно сохранить код в локальный файл.
Возьмем в качестве примера файл, который был сохранен как python_script.py. Сохранить его можно вот так:
- Создать Python-скрипт из командной строки и сохранить его,
- Создать Python-скрипт с помощью текстового редактора или IDE и сохранить его. Просто создайте файл, добавьте код и сохраните как «python_script.py»
Сохранить скрипт в текстовом редакторе достаточно легко. Процесс ничем не отличается от сохранения простого текстового файла.
Но если использовать командную строку, то здесь нужны дополнительные шаги. Во-первых, в самом терминале нужно перейти в директорию, где должен быть сохранен файл. Оказавшись в нужной папке, следует выполнить следующую команду (на linux):
sudo nano python_script.py
После нажатия Enter откроется интерфейс командной строки, который выглядит приблизительно следующим образом:
Теперь можно писать код и с легкостью сохранять его прямо в командной строке.
Как запускать скрипт в командной строке?
Скрипты можно запустить и с помощью команды Python прямо в интерфейсе терминала. Для этого нужно убедиться, что вы указали путь до него или находитесь в той же папке. Для выполнения скрипта (python_script.py) откройте командную строку и напишите python3 python_script.py
.
Замените python3
на python
, если хотите использовать версию Python2.x.
Вот что будет храниться в самом файле python_script.py:
for i in range(0,5):
print(i)
Вывод в командной строке будет следующим:
~$ python python_script.py
0
1
2
3
4
Предположим, что нужно сохранить вывод этого года (0, 1, 2, 3, 4). Для этого можно использовать оператор pipe
.
Это делается вот так:
python python_script.py > newfile.txt
После этого будет создан файл «newfile.txt» с сохраненным выводом.
Как выполнять код интерактивно
Есть больше 4 способов запустить Python-скрипт интерактивно. Рассмотрим их все подробно.
Использование import для запуска скриптов
Импорт модулей для загрузки скриптов и библиотек используется постоянно. Можно даже написать собственный скрипт (например code1.py) и импортировать его в другой файл без необходимости повторять то же самое.
Вот как нужно импортировать code1.py в новом скрипте.
Но таким образом импортируется все содержимое файла code1.py. Это не проблема до тех пор, пока не появляется необходимость, в том, чтобы код был оптимизирован и быстро работал.
Предположим, что внутри файла есть маленькая функция, например chart_code1()
, которая рисует красивый график. И нужна только она. Вместо того чтобы взывать весь скрипт целиком, можно вызвать ее.
Вот как это обычно делается.
>>> from code1 import chart_code1
Теперь появляется возможность использовать chart_code1
в новом файле так, будто бы эта функция была написана здесь.
Использование importlib для запуска кода
import_module()
из importlib позволяет импортировать и исполнять другие Python-скрипты.
Это работает очень просто. Для скрипта code1.py нужно сделать следующее:
import importlib
import.import_module('code1')
И нет необходимости добавлять .py в import_module()
.
Разберем случай, когда есть сложная структура папок, и нужно использовать importlib. Предположим, что структура следующая:
level1 | +– __init__.py – level2 | +– __init__.py – level3.py
В таком случае, написав, например, importlib.import_module("level3")
, вы получите ошибку. Это называется относительным импортом и работает за счет явного использования относительного пути.
Так, для запуска скрипта level3.py можно написать так:
importlib.import_module('.level3', 'level1.level')
# или так
importlib.import_module('level1.level2.level3')
Запуск кода с помощью runpy
Модуль runpy
ищет и исполняет Python-скрипт без импорта. Он также легко используется, ведь достаточно просто вызывать имя модуля в run_module()
.
Вот как, например, выполнить code1.py с помощью runpy.
>>> import runpy
>>> runpy.run_module(mod_name="code1")
Запуск кода динамически
Рассмотрим функцию exec()
, которая также используется для динамического выполнения скриптов. В Python2 эта функция была инструкцией.
Вот как она помогает выполнять код динамически на примере строки.
>>> print_the_string = 'print("Выполнен динамический код")'
>>> exec(print_the_string)
Однако этот способ уже устарел. Он медленный и непредсказуемый, а Python предлагает массу других вариантов.
Запуск скриптов Python из текстового редактора
Для запуска кода с помощью текстового редактора можно использовать команду по умолчанию (run) или горячие клавиши (Function + F5 или просто F5 в зависимости от ОС).
Вот пример того, как код выполняется в IDLE.
Но стоит обратить внимание на то, что в данном случае нет контроля над виртуальной средой, как это бывает при исполнении с помощью интерфейса командной строки.
Поэтому IDE и продвинутые редакторы текста куда лучше базовых редакторов.
Запуск кода из IDE
IDE можно использовать не только для запуска Python-кода, но также для выбора среды и отладки.
Интерфейс этих программ может отличаться, но список возможностей должен совпадать: сохранение, запуск и редактирование кода.
Запуск кода из файлового менеджера
Что если бы был способ запустить Python-скрипт двойным кликом по файлу с ним. Это можно сделать, создав исполняемый файл. Например, в случае с Windows для этого достаточно создать файл с расширением .exe и запустить его двойным кликом.
Как запустить Python-скрипт из другого кода
Хотя об этом явно не говорилось, можно прийти к выводу, что в случае с Python есть возможность:
- Запустить скрипт в командной строке, и этот скрипт будет вызывать другой код;
- Использовать модуль для загрузки другого скрипта.
Основные моменты
- Python-код можно писать в интерактивном и не-интерактивном режимах. При выходе из интерактивного режима вы теряете данные. Поэтому лучше использовать
sudo nano your_python_filename.py
. - Код можно запускать с помощью IDE, редактора кода или командной строки.
- Есть разные способы импорта кода и использования его из другого скрипта. Выбирайте вдумчиво, рассматривая все преимущества и недостатки.
- Python читает написанный код, транслирует его в байткод, который затем используется как инструкция — все это происходит при запуске скрипта. Поэтому важно учиться использовать байткод для оптимизации Python-кода.
Kaura
Что с ними нужно сделать, чтоб они запускались на компе на котором не установлен ПИтон.
С ними ни чего не нужно делать.У вас это файл с расширением “.py”.Соответственно на компьютере у вас есть программа которая умеет читать файл с этим расширением,в данном случае это Python.
аналогия такая,есть файл.mp3,чтобы его воспроизвести у вас должен быть установлен проигрыватель который умеет его читать.Вы же не скачиваете каждую песню вместе с проигрывателем,иначе у вас будут песни и куча проигрывателей.
Что делать?
для начала думаю ровным счетом ничего,если хотите показать кому-то свое творение,говорите ему что нужна программа для его воспроизведения(интерпретатор).Если ваша программа представляет какую-то ценность для него,он установит интерпретатор,если нет то увы…Допустим у меня есть python, я скачал ваш файл,клацнул на него и он запустился…Я его увидел…Profit
второй вариант теоретический
пишется некий сценарий(понятно что не на pythone),который делает следующее
-проверяет есть ли в ОС нужный Pyhton:
если нет:
*сценарий автоматического скачивания с оф.сайта
*сценарий автоматической установки
* сценарий который еще какой,нужен
иначе:
-проверяет есть ли нужные частные библиотеки
если нет:
*скачивает устанавливает
-устанавливает основной скрипт
-сценарий как (
кассета вставляется в мафон
)python будет читать скрипт
-ярлык по которому клацает пользователь
-сценарий если что-то пошло не так(описание ошибки)
все это в установочном exe-шнике для windows к примеру.
Есть ли что-то подобное,не знаю