запуск файлов *.py
Модератор: Bizdelnick
-
Bismark
- Сообщения: 175
запуск файлов *.py
Есть необходимость запускать файлы *.py через консоль, подскажите, как это сделать?
Используемый дистрибутив: Debian Ecth.
Используемый дистрибутив: Debian Ecth.
registered as user #420294 with the Linux Counter
Jabber: fon_bismark@jabber.ru
Jabber: fon_bismark@jabber.ru
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
Re: запуск файлов *.py
Это программы на языке Python.
Надо установить его интерпретатор.
http://www.diveintopython.org/installing_python/debian.html
http://www.debian.org/doc/packaging-manuals/python-policy/
Надо установить его интерпретатор.
http://www.diveintopython.org/installing_python/debian.html
http://www.debian.org/doc/packaging-manuals/python-policy/
-
Bismark
- Сообщения: 175
Re: запуск файлов *.py
Ну тогда еще вопрос, если я сам буду писать скрипты на python, что надо добавить в файл, чтобы он был исполняемым.
registered as user #420294 with the Linux Counter
Jabber: fon_bismark@jabber.ru
Jabber: fon_bismark@jabber.ru
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
Re: запуск файлов *.py
Первой строчкой, как обычно, надо прописать путь к интерпретатору (в моем случае #!/usr/bin/python) и сделать скрипт исполняемым командой chmod
Как тут, например
http://www.onembedding.com/tools/python/code/bin2c.py
-
Bismark
- Сообщения: 175
Re: запуск файлов *.py
Uncle_Theodore, а возможно ли сделать так, что бы скрипты написанные на Python запускались без наличия интерпритатора в системе?
registered as user #420294 with the Linux Counter
Jabber: fon_bismark@jabber.ru
Jabber: fon_bismark@jabber.ru
-
unflag
- Бывший модератор
- Сообщения: 1030
- Статус: здесь могла бы быть ваша реклама
- ОС: Debian testing/Win Server 2008
Re: запуск файлов *.py
Нет конечно
One day! One day, who knows?
Someday! Someday I suppose!
Конференция в jabber: linuxforum@conference.jabber.ru
-
Bismark
- Сообщения: 175
Re: запуск файлов *.py
мдяя
тогда получается вся кросплатформеность - это кросплатформенный интерпретатор?
registered as user #420294 with the Linux Counter
Jabber: fon_bismark@jabber.ru
Jabber: fon_bismark@jabber.ru
-
Liksys
- Сообщения: 2910
Re: запуск файлов *.py
Имеешь интерпретатор на системе - будет работать и программа.
-
unflag
- Бывший модератор
- Сообщения: 1030
- Статус: здесь могла бы быть ваша реклама
- ОС: Debian testing/Win Server 2008
Re: запуск файлов *.py
Код написанной программы не надо портировать под другую систему - главное, чтоб там был интерпретатор и все заработает. Похоже работают всяческие явы и сишарпы.
One day! One day, who knows?
Someday! Someday I suppose!
Конференция в jabber: linuxforum@conference.jabber.ru
-
Liksys
- Сообщения: 2910
Re: запуск файлов *.py
Явы и сишарпы компилируются в байт-код и исполняются на вертуальной машине, а питон интерпретируется.
-
Bismark
- Сообщения: 175
Re: запуск файлов *.py
А если у скрипта есть GUI фронтэнд? тоже через интерпритатор работает?
registered as user #420294 with the Linux Counter
Jabber: fon_bismark@jabber.ru
Jabber: fon_bismark@jabber.ru
-
Rootlexx
- Бывший модератор
- Сообщения: 4471
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: запуск файлов *.py
Программы на Python можно и в промежуточный байт-код скомпилировать. Плюс ко всему, можно создать вообще бинарник, который по сути будет объединённым в один файл интерпретатором (и всеми библиотеками, для него необходимыми) и кодом программы.
-
Liksys
- Сообщения: 2910
Re: запуск файлов *.py
1) Не можно, а при возможности так и происходит. Сохраняется байт-код для того, чтобы в дальнейшем не тратить время на перекомпиляцию языка, в отличие, например, от перла. Каждый раз при запуске измененного кода происходит его перекомпиляция. Так что это не промежуточный байт-код.
2) Создать бинарник с набором всех либ и наплодить сущности - чисто вендовый подход. Вместо того, чтобы установить один интерпретатор, либы и n программ, устанавливается n интерпретаторов, n либ и n программ.
-
Rootlexx
- Бывший модератор
- Сообщения: 4471
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: запуск файлов *.py
Это, конечно, так, но всё же это даёт хоть какую-то уверенность, что твоя программа запустится на другом компьютере в другой системе, а то ставить ради этого интерпретатор со всем ворохом библиотек, да к тому же для этого понадобятся права root, которых может не быть
-
Liksys
- Сообщения: 2910
Re: запуск файлов *.py
Этот подход приемлем не для всех программ и систем. Python присутствует по умолчанию практически на всех юниксах (даже лайв-сд) вместе с набором стандартных библиотек, даже PyQt3. Если программа должна устанавливаться корректно, то это делается именно от рута а потом становится доступной для всех пользователей (при установке в стандартные каталоги). Тут уж и не лень набрать пару команд дял установки нескольких отсутствующих либ.
Я уже не говорю про венды, у которых пользователь почти всегда является администратором (особенно на домашних машинах), тут смысла таскать за каждой маленькой программкой одинаковые тонны либ просот не имеет смысла.
Подход же "все свое ношу с собой" применим только тогда, когда программу надо запустить пару раз и то, например, с диска/флешки.
Я уже не говорю про венды, у которых пользователь почти всегда является администратором (особенно на домашних машинах), тут смысла таскать за каждой маленькой программкой одинаковые тонны либ просот не имеет смысла.
Подход же "все свое ношу с собой" применим только тогда, когда программу надо запустить пару раз и то, например, с диска/флешки.
-
Rootlexx
- Бывший модератор
- Сообщения: 4471
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: запуск файлов *.py
Так я же про это и говорю.
Если Вы написали программу на Python (для работы, например), то Вам проще скомпоновать всё в один файл вместе с интерпретатором, чем искать и пинать администратора "поставьте мне на машину Python!". Да и по друзьям ходить удобнее. Я же не предлагал все программы так делать, только те, где это необходимо или желательно.
Я уже не говорю про венды, у которых пользователь почти всегда является администратором (особенно на домашних машинах), тут смысла таскать за каждой маленькой программкой одинаковые тонны либ просот не имеет смысла.
Это да, но в Windows Вы не установите Python одной командой
-
Liksys
- Сообщения: 2910
Re: запуск файлов *.py
А если же программа планируется для стационарного использования, то с практической точки зрения ее нужно делать именно "разложенной по полочкам".
Хм, это почему я не установлю его одной командой? У меня например есть потребность устанавливать на венды питоновые программы, поэтому у меня имеется для этой цели флешка с каталогом, в котором лежит интерпретатор. мингв и куте4/пикуте4. Устанавливается все это дело одним бат-файлом в пять строчек. А установка питона - клик по сетап.екзе и клики "далее"
Хм, это почему я не установлю его одной командой? У меня например есть потребность устанавливать на венды питоновые программы, поэтому у меня имеется для этой цели флешка с каталогом, в котором лежит интерпретатор. мингв и куте4/пикуте4. Устанавливается все это дело одним бат-файлом в пять строчек. А установка питона - клик по сетап.екзе и клики "далее"
-
Rootlexx
- Бывший модератор
- Сообщения: 4471
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: запуск файлов *.py
Безусловно, незачем захламлять систему.
Liksys писал(а): ↑17.07.2007 14:45Хм, это почему я не установлю его одной командой? У меня например есть потребность устанавливать на венды питоновые программы, поэтому у меня имеется для этой цели флешка с каталогом, в котором лежит интерпретатор. мингв и куте4/пикуте4. Устанавливается все это дело одним бат-файлом в пять строчек.
Но в любом случае дистрибутив Python Вы таскаете с собой
-
Liksys
- Сообщения: 2910
Re: запуск файлов *.py
Я говорю про одно, а Вы мне про другое. Щас в магазин еду, как приду, расскажу все в подробностях 
ЗЫ: Питон - одна из моих специализаций
ЗЫ: Питон - одна из моих специализаций
-
Rootlexx
- Бывший модератор
- Сообщения: 4471
- Статус: GNU generation
- ОС: Debian GNU/Linux
-
Liksys
- Сообщения: 2910
Re: запуск файлов *.py
Ну зачем же в личку 
Вы видимо путаете, о каких системах идет речь.
Для Линукса же проблемы нет, в большинстве случаев все либы уже присутствуют. И таскание за собой всего в куче для никсов является не только технически, но и идеалогически неверным способом в отличие от венды.
Вы видимо путаете, о каких системах идет речь.
Дистрибудив для венды (!), поскольку его там нет по дефолту, в отличие от Линукса.
Дистрибутив Питона я таскаю _вместе_с_нужными_для_программы_либами_ и не только для конкретно этой программы, а полный набор, поскольку если будет установлено эще энное количество софта не придется каждому ставить интерпретатор (замечание для венды!!!). Про права администратора (в венде!!!) перечитай мои посты выше _внимательно_Rootlexx писал(а): ↑17.07.2007 14:56А при компоновке всего в один файл, туда вкладываются лишь те библиотеки, что понадобятся. Так что это по размеру явно лучше, чем дистрибутив Python (в котором, кстати, может не быть тех библиотек, что Вы использовали), да и устанавливать всё равно придётся с правами администратора (или я не прав? - не знаю, как там в Windows сейчас с этим).
Для Линукса же проблемы нет, в большинстве случаев все либы уже присутствуют. И таскание за собой всего в куче для никсов является не только технически, но и идеалогически неверным способом в отличие от венды.
-
Rootlexx
- Бывший модератор
- Сообщения: 4471
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: запуск файлов *.py
Хм, обратите внимание на эти мои слова:
, а также на:
По моему, очевидно, что я прекрасно понимаю, о какой системе идёт речь, о ней я и говорю, не о Linux.
Liksys писал(а): ↑17.07.2007 19:27Дистрибутив Питона я таскаю _вместе_с_нужными_для_программы_либами_ и не только для конкретно этой программы, а полный набор, поскольку если будет установлено эще энное количество софта не придется каждому ставить интерпретатор (замечание для венды!!!). Про права администратора (в венде!!!) перечитай мои посты выше _внимательно_
Для Линукса же проблемы нет, в большинстве случаев все либы уже присутствуют. И таскание за собой всего в куче для никсов является не только технически, но и идеалогически неверным способом в отличие от венды.
Видимо, Вы не вполне поняли мою позицию. Что ж, постараюсь разъяснить.
По Linux: в большинстве случаев слияние собственно программы и интерпретатора не является необходимостью, более того, это нежелательно, ибо дублирует те библиотеки, которые есть в системе. Но это справедливо для своей системы. Если Вы собираетесь переносить Вашу программу на сменных носителях, запуская её без установки на чужих машинах, то такая компоновка имеет смысл, ибо во-первых, не на всех машинах стоит Python (с чего Вы взяли, что на всех? - на моей нет :-P), во-вторых, не на всех машинах стоит нужная ветка Python (скажем, 1.X), в-третьих, не на всех машинах есть нужные для работы библиотеки. Это по Linux.
Что касается Windows, то здесь это более чем желательно. Ибо: не придётся ставить весь Python, не придётся искать администратора, чтобы его поставить (почему мы говорим только о домашних компьютерах? - можно ведь и на работу написать небольшую программку, сильно упрощающую жизнь, хотя согласен, что большинство домашних пользователей работает с правами администратора), наконец, не придётся таскать с собой ворох библиотек, включая сам дистрибутив.
Тем более, Вы сами писали, что:
Далее:
Так в чём разница тогда, таскать всё с собой отдельно, или скомпоновать в один файлик?
Примечание: в большинстве дистрибутивов Python не входит в список устанавливаемых по умолчанию программ. В Fedora - да, потому, что там административные утилиты на нём написаны (по крайней мере были). Да, кстати, дабы у Вас не возникло вопросов, это я говорил про Linux
-
Liksys
- Сообщения: 2910
Re: запуск файлов *.py
Как интересно мне пытаются объяснить мою же позицию 
).

Правильная установка, еще раз, использует именно разделяемые библиотеки, этот подход для стационарных программ. Компоновка в один файл - лайв-программы, которые запускаются с флешки например (об этом я, как ни странно, тоже уже говорилПо Linux: в большинстве случаев слияние собственно программы и интерпретатора не является необходимостью, более того, это нежелательно, ибо дублирует те библиотеки, которые есть в системе. Но это справедливо для своей системы. Если Вы собираетесь переносить Вашу программу на сменных носителях, запуская её без установки на чужих машинах, то такая компоновка имеет смысл, ибо во-первых, не на всех машинах стоит Python (с чего Вы взяли, что на всех? - на моей нет :-P), во-вторых, не на всех машинах стоит нужная ветка Python (скажем, 1.X), в-третьих, не на всех машинах есть нужные для работы библиотеки. Это по Linux.
Опять таки, зависит от ситуации, причем от Линукс она не сильно отличается: стационарный софт - разделяемые библиотеки, переносной софт - вкомпиленные.Что касается Windows, то здесь это более чем желательно. Ибо: не придётся ставить весь Python, не придётся искать администратора, чтобы его поставить (почему мы говорим только о домашних компьютерах? - можно ведь и на работу написать небольшую программку, сильно упрощающую жизнь, хотя согласен, что большинство домашних пользователей работает с правами администратора), наконец, не придётся таскать с собой ворох библиотек, включая сам дистрибутив.
Читаем вниматильно цитируемый Вами текст. Разница в том, что установив однажды набор библиотек не нужно будет их алодить на каждое приложение. Многие программы, которые я пишу для одной фирмы, требуют как раз того, что у меня лежит на флешке. И большинство из них используют Питон. Поэтому вместо установки 5 программ + 5 либ/интерпретаторов правильно будет установить 5 программ + 1 разделяемый интерпретатор/либу.Так в чём разница тогда, таскать всё с собой отдельно, или скомпоновать в один файлик?
Зато для стационарного софта его вполне можно потребовать как зависимость и нефиг таскать за собой, если он уже присутствует. Это сказано для обоих системПримечание: в большинстве дистрибутивов Python не входит в список устанавливаемых по умолчанию программ. В Fedora - да, потому, что там административные утилиты на нём написаны (по крайней мере были). Да, кстати, дабы у Вас не возникло вопросов, это я говорил про Linux.
-
Rootlexx
- Бывший модератор
- Сообщения: 4471
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: запуск файлов *.py
Ошибаетесь, я Вам объясняю свою позицию.
А теперь читаем мои слова:
Причём фразу "без установки" я даже подчеркнул, но Вы, видимо, всё равно не обратили на это внимания
Как ни странно, я тоже об этом говорил. Снова читаем мои слова:
Rootlexx писал(а): ↑17.07.2007 20:01в большинстве случаев слияние собственно программы и интерпретатора не является необходимостью, более того, это нежелательно, ибо дублирует те библиотеки, которые есть в системе. Но это справедливо для своей системы. Если Вы собираетесь переносить Вашу программу на сменных носителях, запуская её без установки на чужих машинах, то такая компоновка имеет смысл
А теперь покажите, пожалуйста, где я говорил что-то иное. Моя цитата выше лишь подтверждает это.
Ключевое слово здесь - "установив"
Получается, что в общем наши позиции совпадают. Тогда о чём дискуссия-то
Вот уж не ожидал, что мой комментарий, почти полностью совпадающий по смыслу с Вашим, вызовет такую бурную реакцию
Заметьте, я писал:
Можете уточнить, в чём именно Вы со мной не согласны?
Кстати, практически в каждом моём сообщении я с Вами соглашался, а Вы не соглашались со мной, получается суперпозиция, и Вы не соглашались с самим собой
-
Liksys
- Сообщения: 2910
Re: запуск файлов *.py
Я просто не углядел то место, где было объяснено про переносимые программы. В последнем посту я вижу это.
Так что давай на "ты" и пошли пить водку
Так что давай на "ты" и пошли пить водку
-
Rootlexx
- Бывший модератор
- Сообщения: 4471
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: запуск файлов *.py
Liksys, идёт
. Тему закрываю.