2013-04-11 2 views
0

Есть сценарии python с аргументами командной строки, которые я бы хотел вызвать из любого места на моем ПК.PYTHONPATH: вызовы командной строки в Windows 7

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

python thescript.py arg1 arg2 

независимо от их местоположения.

Как настроить переменные среды python/PATH?

Я установил пакет в site-packages, добавив этот путь к $ PATH и отредактировал PYTHONPATH, чтобы включить каталог модуля (который включает __init__.py), но CMD не найдет соответствующие сценарии.

python: can't open file 'thescript.py': [Errno 2] No such file or directory 

Спасибо.

ответ

2

Python делает не посмотреть скрипты на каком-то пути.

У вас есть 2 варианта:

  • использовать полный путь:

    python /path/to/thescript.py 
    
  • Поместите скрипт в каталог, который находится на вашем PATH, сделайте его исполняемым (chmod +x thescript.py) и дать ему a Shebang line:

    #!/bin/env python 
    

Второй вариант, вероятно, предпочтительнее. В Windows вы можете установить pylauncher для поддержки линий shebang; если вы используете Python 3.3 или новее, то ужеincluded with your Python installation.

+0

Похоже, я укажу полный путь. Я не думаю, что Windows (CMD -> DOS window) поддерживает shebang. Я редактировал заголовок, чтобы указать, что это вопрос Windows. – user2105469

+0

@ user2105469: обновлена, чтобы включить информацию о 'pylauncher', которая сделает то, что вы хотите, работать и с Windows. –

+0

спасибо, проблема решена. – user2105469

1

Другим вариантом было бы создать командный файл для каждого интересующего вас сценария и поместить пакетный файл где-нибудь в ваш PATH, например. создать файл с именем thescript.bat, содержащий ...

@echo off 
the\path\to\python.exe the\path\to\thescript.py %* 

... то вы можете просто запустить ...

thescript arg1 arg2 

..., который является столь же лаконичный синтаксис, как это возможно.

Смежные вопросы