2010-09-18 2 views
3

Может ли кто-нибудь сказать мне, как сделать мой скрипт вызываемым в любом каталоге?Создание скрипта Python в широком масштабе системы

Мой сценарий просто возвращает количество файлов в каталоге. Я хотел бы, чтобы он работал в любом каталоге, вызывая его, вместо того, чтобы сначала его копировать, а затем печатать python myscript.py

Я использую Mac OS X, но есть ли распространенный способ установить его на Windows и Linux?

ответ

12

Если ваш сценарий начинается с подходящей притон линии, такие как:

#!/usr/bin/env python 

И ваш скрипт имеет бит исполнения (для Linux, OS X и других Unix-подобных систем):

chmod +x myscript.py 

И путь к сценарию в вашей PATH переменной окружения:

export PATH=${PATH}:`pwd` # on Unix-like systems 

SET PATH=%PATH%;\path\to # on Windows 

Тогда вы можете позвонить myscript.py откуда бы вы ни были.

+0

с использованием экспорта PATH = $ {PATH}: 'pwd', позволит доступ ко всем скриптам в рабочем каталоге, если они имеют chmod + x. Как указать только один файл? – Ali

+1

Да, будет. Вы можете либо поместить его в свой собственный каталог, либо в тот, где вы храните другие подобные скрипты, например. '$ {HOME}/bin'. – Johnsyweb

+2

Поместите это место как/usr/local/bin. Вы даже можете разместить символическую ссылку, если вы действительно хотите сохранить свой фактический сценарий где-то еще. – Falmarri

0

Все эти операционные системы должны поддерживать переменную среды PATH, которая определяет каталоги, в которых есть исполняемые файлы, которые должны быть доступны повсюду. Сделайте свой скрипт исполняемым файлом chmod +x и поместите его в один из этих каталогов (или добавьте новый в свой PATH - например, у меня есть ~/bin).

Я не знаю, как создавать новые типы файлов, непосредственно исполняемых в Windows, однако, я думаю, вы могли бы использовать файл .bat в качестве прокси.