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.