2016-09-11 2 views
1

Я не уверен, что я должен искать, потому что все, что я пытался найти, на самом деле не дало мне ответов, которые мне нужны.Как запустить программу python, просто набрав имя на терминале?

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

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

Я знаю только один способ сделать это, что, я считаю, неверный путь. Моя идея заключалась в следующем:

1.) Основная папка, назовем ее Ghoul. Он будет содержать 3 файла:

setup.sh 
ghoul.sh 
ghoul.py 

2.) Пользователь должен запустить setup.sh, который бы ghoul.sh исполняемый и это изменит название на вурдалака, а затем я бы переместите его в/bin

3.) В файле ghoul, который теперь находится в/bin, сам файл будет содержать «python /home/user/Ghoul/ghoul.py $ @». Это позволит программе запускать из любого каталога, просто набрав «ghoul»

Надеюсь, это ясно, что я пытаюсь выполнить , Я знаю, что это не может быть подходящим способом сделать это. Что я должен искать и читать, чтобы это сделать? Я хотел бы знать, как я могу это сделать на Ubuntu, а также ..Windows.

Мне также интересно, могу ли я ограничить команду «ghoul» работать только в каталоге Ghoul, но, конечно, в любой директории, находящейся в каталоге Ghoul, а не из любой директории в системе.

спасибо.

+1

Добавьте его в PATH, включите строку bang (#/env/bin/python3), и вы готовы пойти – iScrE4m

ответ

2

В Unix подобных системах

#! /usr/bin/env python 

в самой первой строке CHMOD + х скрипт файл будет сделать его исполняемым из текущего каталога с помощью ./filename

Если вы хотите полностью прямое выполнение с в любом месте вы можете поместить его на путь где-нибудь, но вы выбираете.

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

myscript.py 

Если его на своем пути. для удаления .py вам нужно получить .py в переменную PATHEXT. В качестве альтернативы, если он должен быть распространен среди кого-то без установки python, ознакомьтесь с ним. Www.py2exe.org

+0

Это делает не работает для меня, мне все равно придется либо набирать «python» перед именем скрипта, либо делать «./». Я также запускал команду «какой python» и использовал вывод этого перед shebang, и это не работал.Когда я пытаюсь запустить его только по имени программы в том же каталоге, в котором он находится, он просто говорит «команда не найдена» –

+0

Вы поместили ее в текущую директорию или поместили ее в каталог bin (или другой каталог на вашем пути). bash (и я предполагаю, что большинство других оболочек) нужно ./ если оно не на вашем пути. Я отредактировал ответ, чтобы уточнить, что я имел в виду. –