PyDev с Python3.5 кажется неспособным распознавать импорт из скомпилированных расширений, включая пакеты, скомпилированные через Cython.Pydev теги импортируют как «неразрешенный импорт» все скомпилированные расширения
Я работаю над современной дебиантной/растяжкой машиной с укороченным самонастраивающимся (в домашнем каталоге) Eclipse/Neon с PyDev, добавленным через сайт обновлений, если это имеет значение.
У меня установлены оба «Python 2.7.13» и «Python 3.5.2+».
Одним из проблемных пакетов является lxml. Я установил пакеты debian, а также попытался установить вручную через pip (и впоследствии восстановил интерпретатор в eclipse, чтобы обеспечить полный поиск). Во всех случаях пакеты do работа.
В Python2 все работает так, как рекламируется.
Под Python3 Pydev флаги from lxml import etree
, как ошибка (но в результате программы работы):
Unresolved import: etree richiedi_certificato_dispositivo.py /trasmissione-telematica/Serializzazione line 8 PyDev Problem
Примечание: I можетimport lxml
без ошибок, но тогда любой доступ к lxml.etree...
будет помечена по ошибке. Выполнение данных согласовано (т. Е .: etree
не будет в предлагаемом списке).
lxml
устанавливается в обычном месте:
[email protected]:~$ ls -l /usr/lib/python3/dist-packages/lxml
total 2156
-rw-r--r-- 1 root root 8152 Sep 5 2014 builder.py
-rw-r--r-- 1 root root 3366 May 5 2016 cssselect.py
-rw-r--r-- 1 root root 18387 May 5 2016 doctestcompare.py
-rw-r--r-- 1 root root 7641 Sep 25 2011 ElementInclude.py
-rw-r--r-- 1 root root 9490 Aug 20 06:48 _elementpath.py
-rw-r--r-- 1 root root 1710088 Aug 24 10:14 etree.cpython-35m-x86_64-linux-gnu.so
drwxr-xr-x 3 root root 4096 Jan 3 08:58 html
drwxr-xr-x 3 root root 4096 Jan 3 08:58 includes
-rw-r--r-- 1 root root 551 Oct 7 2012 __init__.py
drwxr-xr-x 4 root root 4096 Jan 3 08:58 isoschematron
-rw-r--r-- 1 root root 17450 Aug 20 06:48 lxml.etree_api.h
-rw-r--r-- 1 root root 8902 Aug 20 06:48 lxml.etree.h
-rw-r--r-- 1 root root 366440 Aug 24 10:14 objectify.cpython-35m-x86_64-linux-gnu.so
drwxr-xr-x 2 root root 4096 Jan 3 08:58 __pycache__
-rw-r--r-- 1 root root 92 Sep 5 2014 pyclasslookup.py
-rw-r--r-- 1 root root 8531 Nov 20 2014 sax.py
-rw-r--r-- 1 root root 230 Sep 25 2011 usedoctest.py
[email protected]:~/trasmissione-telematica$
Как Вы можете видеть etree
в общей Lib, как objectify
; быстрый просмотр показывает, что объектная информация не обрабатывается PyDev. Я проверил несколько других пакетов «c-extension» (например, import pycurl
и from Crypto.Util import strxor
) с тем же результатом, поэтому кажется проблемой с расширениями «C».
Вы когда-нибудь находили подходящее решение для этого? (У меня точно такая же проблема, но я не могу использовать xml.etree ...) –
@TonnyMadsen: к сожалению, нет. Они по-прежнему помечены как ошибки, но все работает (не считая завершения, конечно). Если вы сможете найти решение, сообщите мне. – ZioByte