Pydev标签导入为“未解析的导入”所有已编译的扩展

时间:2017-01-11 18:44:39

标签: eclipse python-3.x pydev python-extensions

使用Python3.5的PyDev似乎无法识别来自c编译扩展的导入,包括通过Cython编译的包。

我正在开发一款最新的debian / stretch机器,带有自动安装(在家庭目录中)Eclipse / Neon,并通过更新站点添加PyDev,如果重要的话。

我安装了“Python 2.7.13”和“Python 3.5.2+”。

其中一个有问题的包是lxml。我安装了debian软件包,并尝试通过pip手动安装(之后在eclipse中重新创建了解释器以确保完整查找)。在所有情况下,包都可以。

在Python2中,一切都像宣传的那样有效。

在Python3下,PyDev标记from lxml import etree为错误(但结果程序有效):

Unresolved import: etree    richiedi_certificato_dispositivo.py /trasmissione-telematica/Serializzazione    line 8  PyDev Problem

注意:可以 import lxml没有错误,但是对lxml.etree...的任何访问都会被标记为错误。数据完成是一致的(即:etree不在提供的列表中。)

lxml安装在通常的位置:

mcon@vocore:~$ 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
mcon@vocore:~/trasmissione-telematica$

正如您所看到的,etree位于共享库中,objectify也是如此;一个快速检查表明,对象不是由PyDev处理的。我检查了一些其他“c-extension”软件包(例如:import pycurlfrom Crypto.Util import strxor),结果相同,所以似乎是“C”扩展名的问题。< / p>

1 个答案:

答案 0 :(得分:2)

您是否尝试将有问题的软件包放入强制内置组件中(如http://www.pydev.org/manual_101_interpreter.html中所述)?

如果这不起作用,您的错误日志中是否有错误? (有关获取此信息的详细信息,请参阅http://www.pydev.org/faq.html#PyDevFAQ-HowdoIReportaBUG%3F