PyDev mit Python3.5 scheint Importe aus c-kompilierten Erweiterungen nicht zu erkennen, einschließlich Paketen, die über Cython kompiliert wurden.Pydev-Tags importieren als "nicht aufgelöster Import" alle kompilierten Erweiterungen
Ich arbeite an einer aktuellen debian/stretch-Maschine mit einer abgespeckten selbstinstallierten (in home dir) Eclipse/Neon mit PyDev hinzugefügt über Update-Site, wenn es darauf ankommt.
Ich habe sowohl "Python 2.7.13" und "Python 3.5.2+" installiert.
Eines der problematischen Pakete ist lxml. Ich habe die Debian-Pakete installiert und habe auch versucht, manuell über pip zu installieren (und den Interpreter danach in Eclipse neu erstellt, um das vollständige Finden sicherzustellen). In allen Fällen funktionieren die Pakete do.
In Python2 funktioniert alles wie angekündigt.
Unter Python3 PyDev Flaggen from lxml import etree
als Fehler (aber resultierende Programm funktioniert):
Unresolved import: etree richiedi_certificato_dispositivo.py /trasmissione-telematica/Serializzazione line 8 PyDev Problem
Hinweis: I kannimport lxml
ohne Fehler, aber dann jeder Zugriff auf lxml.etree...
wird in Fehler angezeigt werden. Datenvervollständigung ist konsistent (d.h. etree
wird nicht in der angebotenen Liste sein).
lxml
wird in der üblichen Stelle installiert:
[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$
Wie Sie sehen können etree
in einem gemeinsamen lib ist, wie objectify
ist; eine schnelle Überprüfung zeigt auch, dass objectify von PyDev nicht bearbeitet wird. Ich überprüfte ein paar andere "c-Erweiterung" -Pakete (z. B. import pycurl
und from Crypto.Util import strxor
) mit dem gleichen Ergebnis, so scheint es ein Problem mit "C" -Erweiterungen.
Haben Sie jemals eine geeignete Lösung gefunden? (Ich habe genau das selbe Problem, kann aber xml.etree nicht verwenden ...) –
@TonnyMadsen: leider nicht. Sie werden immer noch als Fehler markiert, aber alles funktioniert (abgesehen von der Fertigstellung natürlich). Wenn Sie eine Lösung finden, informieren Sie mich bitte. – ZioByte