【问题标题】:Pydev tags import as “unresolved import” all compiled extensionsPydev 标签导入为“未解析的导入”所有已编译的扩展
【发布时间】:2017-01-11 18:44:39
【问题描述】:

带有 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 不处理 objectify。我检查了一些其他“c-extension”包(例如:import pycurlfrom Crypto.Util import strxor),结果相同,所以 似乎“C”扩展有问题。

【问题讨论】:

  • 您有没有找到合适的解决方案? (我有完全相同的问题,但不能使用 xml.etree...)
  • @TonnyMadsen:很遗憾没有。它们仍被标记为错误,但一切正常(当然,除了完成之外)。如果您能找到解决方案,请告诉我。

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


【解决方案1】:

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

如果这不起作用,您的错误日志中是否有错误? (获取详情见http://www.pydev.org/faq.html#PyDevFAQ-HowdoIReportaBUG%3F

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-06
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 2013-07-20
    相关资源
    最近更新 更多