Argparse Python модули в кли

Я пытаюсь запустить скрипт python из среды командной строки Linux SSH Secure Shell и пытаюсь импортировать библиотеку argparse, но выдает ошибку: "ImportError: Нет модуля с именем argparse".

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

Я был бы признателен за любую помощь в поиске этого каталога (я полагаю, что я мог бы сейчас включить библиотеку argparse в тот же каталог, что и мой скрипт на python, но я бы предпочел иметь библиотеку argparse там, где находятся другие библиотеки Python, так как должно быть).

5 ответов

argparse модуль был добавлен в Python 2.7. http://docs.python.org/library/argparse.html

До версии 2.7 наиболее распространенным способом обработки аргументов командной строки был, вероятно, getopt, http://docs.python.org/library/getopt.html

Конечно, вы всегда можете обработать командную строку вручную, просто посмотрев на sys.argv, тем не мение getopt хороший уровень абстракции, и argparse еще лучше.

Если вам действительно нужно argparse в старых условиях (спорный), есть проект Google Code поддерживать его, и вы можете включить, что в вашем проекте. http://code.google.com/p/argparse/

Если вы используете CentOS и у вас нет простого RPM для перехода на Python 2.7, JF предлагает pip install argparse это путь Вызывая это решение в новом ответе. Спасибо, JF.

Просто добавьте пакет вручную, если вы используете Centos 6 по умолчанию Python 2.6.6

yum install python-argparse

Вот и все, что мне понадобилось, чтобы заставить IPython работать. Странно, что YUM не установил его автоматически, когда я использовал YUM для установки IPython.

Вы можете проверить путь поиска для модулей с:

import sys
print "\n".join(sys.path)

Но не иметь argparse странно: это в стандартной библиотеке...

Вы, вероятно, используете более старую версию Python.

Модуль argparse был добавлен довольно недавно, в Python 2.7.

Другие вопросы по тегам