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. Пожалуйста, попробуйте это.