Найти - Пользователи
Полная версия: Ошибка импорта
Начало » Python для новичков » Ошибка импорта
1
vanvanov
Установил python-docx.
Написал такой код:
#!/usr/bin/python3
from docx import Document as docx_parser
doc_obj=docx_parser('/home/pete/work/orig all - ru.docx')
doc_text='\n\n'.join([paragraph.text for paragraph in doc_obj.paragraphs])

Почему
Python 3.4.2 (default, Oct  8 2014, 13:14:40) 
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from docx import Document as docx_parser
проходит, а при попытке запустить код из файла (tst100.py) я получаю
Traceback (most recent call last):
  File "./tst100.py", line 3, in <module>
    from docx import Document as docx_parser
ImportError: cannot import name 'Document'
?
vanvanov
Вот что интересно: python-docx обновил свой API, теперь вместо старого
from docx import opendocx as docx_parser
должно быть
from docx import Document as docx_parser
Однако, из питоновской консоли работает только новый импорт (Document), а из программы - только старый (opendocx)! Как мне везде обеспечить работу нового API?

Устанавливал python-docx я с помощью sudo python3 setup.py install. Система Debian Jessie.
JOHN_16
vanvanov
Проверяйте версии модуля который работает в коде и в консоли.
vanvanov
JOHN_16
vanvanovПроверяйте версии модуля который работает в коде и в консоли.
Согласно pkg_resources, и в консоли, и отдельно работают python-docx 0.8.5 (а не устаревший docx).
JOHN_16
В общем то имелось ввиду:
import docx
print(docx.__version__)
А случаем рядом с вашим файлом нету других docx.py файлов или тп?
vanvanov
JOHN_16
А случаем рядом с вашим файлом нету других docx.py файлов или тп?
Да, действительно, в /usr/local/bin лежал docx.py. Обидно, ведь про это я уже нагуглил, но не придал этому значения, поскольку забыл, что раньше уже пытался установить этот модуль. Теперь работает, спасибо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB