Доброго времени суток. Написал первую программу на python, то есть у меня есть программа состоящая из main.py и еще нескольких py файлов. Проблема в следующем: я хочу что бы моя программа запускалась в терминале из /usr/bin, но копируя main.py в /usr/bin при запуске программа требует те несколько файлов о которых я говорил выше. Собственно вопрос в следующем: что мне прописать в makefile или еще где что бы после того как пользователь установит программу ее можно было спокойно запустить из термианала введя имя программы.
Спасибо.
[Рython] Запуск программы
Мне кажется в /usr/bin нужно положить bash скрипт запускающий ваш main.py, а main.py и все остальные файлики скинуть в /usr/share/вашапрограмма.
Мне кажется в /usr/bin нужно положить bash скрипт запускающий ваш main.py, а main.py и все остальные файлики скинуть в /usr/share/вашапрограмма.
Спасибо за ответ. Да что то я не подумал так действительно будет правильнее. Но как закинуть папку с py файлами в /usr/share/... я что-то тоже ума не приложу :(
Способов много. komcumir предлагает хороший вариант.
Не обязательно класть программу по пути /usr/share/program, можно положить почти куда угодно.
Также, как вариант, модифицировать переменную PATH. Ни красиво, ни правильно, но работать будет.
Спасибо за ответ. Да что то я не подумал так действительно будет правильнее. Но как закинуть папку с py файлами в /usr/share/... я что-то тоже ума не приложу :(
У вас нет прав на запись?
Дело в том что пишу в Anjuta, а она такие огромные makefile генерит, что тут сам ерт ногу сломит
+
Вручную то сделать это не проблема. Хотелось бы что бы это выполнялось на уровне make && make install
Добавить соответствующую команду в цель install.
Добавить соответствующую команду в цель install.
Вот уже близко к истине. :) Где можно псмотреть синтаксис как это делать в makefile?
нашел секцию install:install-recursive
это оно?
самой первой строкой main.py запишите
#!/usr/bin/env python
либо
#!/usr/bin/python
это избавит вас от необходимости писать однострочник на bash'е для запуска скрипта python.
Чтобы не парится с правами пользователя оформите вашу программу в виде пакета rpm, deb или ebuild... в общем в "нормальный" пакет. Если у пользователя есть права на установку то проблем не возникнет.
P.S. А какая связь между Анютой и Питоном, если я не ошибаюсь первая - среда IDE для C/C++ (http://ru.wikipedia.org/wiki/Anjuta)
самой первой строкой main.py запишите
P.S. А какая связь между Анютой и Питоном, если я не ошибаюсь первая - среда IDE для C/C++ (http://ru.wikipedia.org/wiki/Anjuta)
Видимо не только. Как минимум можно писать на C/C++/java/python, может и больше с помощью плагинов.
[quote=deadhead]самой первой строкой main.py запишите
P.S. А какая связь между Анютой и Питоном, если я не ошибаюсь первая - среда IDE для C/C++ (http://ru.wikipedia.org/wiki/Anjuta)
Видимо не только. Как минимум можно писать на C/C++/java/python, может и больше с помощью плагинов.[/quote]
Ну, а зачем, тогда скрипту на python'e make-файл?
Отвлекся :)
Ну, а зачем, тогда скрипту на python'e make-файл?
Присоединяюсь к вопросу
Ну, а зачем, тогда скрипту на python'e make-файл?
Тяжелый вопрос я разбираюсь в python не так давно :) Как anjuta сгенерила а щас что то меня ть не очень хочется
Если у Вас уже есть готовые py-файлы, можете, как уже сказал deadhead, оформить пакет. И не надо ниаких makefile'ов.
[quote=deadhead]Ну, а зачем, тогда скрипту на python'e make-файл?
Тяжелый вопрос я разбираюсь в python не так давно :) Как anjuta сгенерила а щас что то меня ть не очень хочется[/quote]
Ну так может стоит сначала разобраться в Python, а уж потом свои поделки пользователю подсовывать? Если нужно вам и книжку посоветуют и ресурс интересный ;-)
Ну так может стоит сначала разобраться в Python, а уж потом свои поделки пользователю подсовывать? Если нужно вам и книжку посоветуют и ресурс интересный ;-)
Думаю, все равно вопрос очень интересует автора темы.
onlyshk, как вариант распространения Вашей программы можно еще назвать пакование tar'ом, где будет исполнимый sh-файл и набор Ваших py-файлов. Просто, и никаких makefile'ов ;)
В общем то я так и делаю обычно, есть rpm и есть архив со скриптами, а там уж пользователь уж сам пусть решает что и откуда запускать...
Думаю, все равно вопрос очень интересует автора темы.
onlyshk, как вариант распространения Вашей программы можно еще назвать пакование tar'ом, где будет исполнимый sh-файл и набор Ваших py-файлов. Просто, и никаких makefile'ов ;)
Не программлю на phyton, но есть предположение, что нужно поправить PATH переменную окружения
Не программлю на phyton, но есть предположение, что нужно поправить PATH переменную окружения
см. выше :)
Способ не для данной ситуации, насколько я понимаю.