Argparse Python модули в кли - PullRequest
       30

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

12 голосов
/ 19 сентября 2011

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

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

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

Ответы [ 5 ]

6 голосов
/ 19 сентября 2011

Модуль 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/

2 голосов
/ 20 октября 2014

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

yum install python-argparse

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

2 голосов
/ 04 апреля 2012

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

1 голос
/ 19 сентября 2011

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

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

Но отсутствие argparse - это странно: он находится в стандартной библиотеке ...

0 голосов
/ 19 сентября 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...