ciscoconfparse в модуле Python 3.4 неправильно импортируется

Я пытаюсь установить модуль Python ciscoconfparse на Linux Mint 17. Когда я устанавливаю его с pip с python 2, все хорошо работает, когда я пытаюсь импортировать, но когда я пытаюсь это сделать с pip3 (для Python 3.4), модуль появляется в каталоге установки, но я не могу импортировать какие-либо его части.

Я могу найти модуль здесь

/usr/local/lib/python3.4/dist-packages/ciscoconfparse-1.1.1-py3.4.egg/ciscoconfparse

Внутри этого каталога находится файл ciscoconfparse.py, который имеет класс CiscoConfParse, но я не могу импортировать его с

из ciscoconfparse import CiscoConfParse

Когда я пытаюсь установить, похоже, что есть несколько проблем, но все равно говорит, что он был успешно установлен.

~ / Downloads / ciscoconfparse-1.1.1 $ sudo pip3 install ciscoconfparse
Загрузка / распаковка ciscoconfparse
  Загрузка ciscoconfparse-1.1.1.tar.gz (76 КБ): 76 КБ загружено
  Запуск setup.py (путь:/tmp/pip_build_root/ciscoconfparse/setup.py) egg_info для пакета ciscoconfparse
    флаг zip_safe не установлен; анализ содержимого архива...

    Установлено /tmp/pip_build_root/ciscoconfparse/setuptools_hg-0.4-py3.4.egg

    предупреждение: в каталоге '*' не найдено ранее включенных файлов, соответствующих '__pycache__'
    предупреждение: в каталоге '*' не найдено ранее включенных файлов, соответствующих '*.orig'
    предупреждение: в каталоге '*' не найдено ранее включенных файлов, соответствующих 'BUILD.ME'
    предупреждение: в каталоге "*" не найдено ранее включенных файлов, соответствующих "BITBUCKET_HG"
    предупреждение: в каталоге "*" не найдено ранее включенных файлов, соответствующих ".hgrc"
    предупреждение: в каталоге ".hg" не найдено ранее включенных файлов, соответствующих "*"
    предупреждение: в каталоге sphinx-doc не найдено ранее включенных файлов, соответствующих "*"
Установка собранных пакетов: ciscoconfparse
  Запуск setup.py установки для ciscoconfparse

    предупреждение: в каталоге '*' не найдено ранее включенных файлов, соответствующих '__pycache__'
    предупреждение: в каталоге '*' не найдено ранее включенных файлов, соответствующих '*.orig'
    предупреждение: в каталоге '*' не найдено ранее включенных файлов, соответствующих 'BUILD.ME'
    предупреждение: в каталоге "*" не найдено ранее включенных файлов, соответствующих "BITBUCKET_HG"
    предупреждение: в каталоге "*" не найдено ранее включенных файлов, соответствующих ".hgrc"
    предупреждение: в каталоге ".hg" не найдено ранее включенных файлов, соответствующих "*"
    предупреждение: в каталоге sphinx-doc не найдено ранее включенных файлов, соответствующих "*"
      Файл "/usr/local/lib/python3.4/dist-packages/ciscoconfparse/excldiff_test.py", строка 31
        печать различий
                  ^
    SyntaxError: неверный синтаксис

Успешно установленный ciscoconfparse
Убираться...

На сайте авторов он говорит, что он был протестирован на работу на Python > 3.2. Я использую Pycharm как иде. До сих пор кажется, что я могу либо использовать виртуальную среду с python3 и посмотреть, изменит ли это что-либо, либо я могу поместить модуль в модуль, который я делаю. Есть ли причина, по которой установка может не работать? Или каков наилучший способ включить модуль в мой собственный проект?

2 ответа

Решение

Есть ли причина, по которой установка может не работать? Или каков наилучший способ включить модуль в мой собственный проект?

Ошибка ciscoconfparse версии 1.1.1 во всех версиях Python3 из-за неправильного относительного импорта.

Относительный импорт сломался из-за несоблюдения PEP 366 в ciscoconfparse версия 1.1.1 (и ранее); Чтобы решить эту проблему, ciscoconfparse добавил __main__.py в упаковке. Я вручную проверил это на Python2.7 и Python3.4.1; насколько я могу судить, версия 1.1.2 решает проблемы с Python3.

У меня была та же проблема, но она была исправлена ​​в последней версии 1.1.3, https://pypi.python.org/pypi/ciscoconfparse/1.1.3. Пожалуйста, попробуйте это.

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