Completare automată în PyCharm pentru extensiile Python compilate

voturi
21

Când scrierea de cod Python folosind extensii compilate (legăturile OpenCV Python, de exemplu), PyCharm nu pare să fie conștienți de disponibilitatea lor. Importurile sunt marcate cu o subliniere gri, spunând că „de referință nerezolvate“, ca un tooltip, și de completare automată nu funcționează, fie. (Cu excepția numele de funcții deja utilizate în codul.)

Acest lucru nu este cauzat de căi greșite module, codul ruleaza fara eroare atunci când a început. De asemenea, după ce am importa modulele într-o coajă de Python, începe să lucreze de autocompletare cum era de așteptat.

Există o soluție pentru că sau este o limitare de arhitectură pentru extensii compilate? Există alte IDE-uri care reușesc să facă față acestei probleme?

Întrebat 19/02/2011 la 07:57
sursa de către utilizator
În alte limbi...                            


8 răspunsuri

voturi
-1

Nu-mi place să dea un „lucrări pentru mine“ răspuns, dar poate detaliile privind mediul meu va ajuta să identificați problema de pe partea ta.

Nu am folosit niciodată PyCharm înainte, dar am făcut un test pe Mac 10.6.6 folosind PyCharm 1.1.1, cu MacPorts OpenCV + python26. Completare automată a lucrat bine pentru mine prima dată. De asemenea, am închis și re-fugit PyCharm și a fost capabil Completarea automată fără a face nimic în continuare. Am avut, de asemenea, nici o problemă cu alte extensii pentru completarea automată native am încercat ca cjson, procname.

Pycharm 1.1.1 importarea OpenCV completarea automată.

Poate că este o problemă specifică platformei (Windows?), Sau un bug care afectează o versiune mai veche a PyCharm?

Publicat 04/03/2011 la 12:12
sursa de către utilizator

voturi
16

Importurile sunt marcate cu o subliniere gri, spunând că „de referință nerezolvate“, ca tooltip

Acest lucru înseamnă că, cel mai probabil PyCharm nu pot vedea modulul import. În modul de editare, PyCharm se bazează pe disponibilitatea surselor Python de module importate. Dacă un modul nu este scris în Python, dar este un modul de extensie C, PyCharm generează un „schelet“, care conține prototipuri funcționale, și o folosește pentru finalizare.

În modul de coajă, PyCharm utilizează obiecte vii importate pentru finalizare, cu rezultate ușor diferite.

Asigurați-vă că instalarea OpenCV este vizibil pentru interpretul Python ați ales pentru proiect (File / Settings / Python interpret). În cazul în care interpretul este corectă, încercați să eliminați și re-adăugarea acestuia (acest lucru este consumatoare de timp un pic, îmi pare rău).

Dacă nimic nu ajută, un fișier bug .

Publicat 04/03/2011 la 15:01
sursa de către utilizator

voturi
3

PyCharm în prezent , nu scanează extensiile compilate / binarelor , care sunt într - un traseu adăugat manual interpretul în IDE. Am depus un bug cu JetBrains în YouTrack . S-ar putea dori să aibă o privire la ea și , eventual, discuția pe care am inițiat în forumul de discuții (link - ul este în descrierea bug - ul). Aș aprecia dacă ați putea vota pentru această problemă să fie rezolvată în YouTrack dacă sunteți un utilizator PyCharm cu care se confruntă cu aceeași problemă.

Publicat 17/03/2011 la 12:30
sursa de către utilizator

voturi
3

Încercați să faceți clic pe butonul „Reload“ din File | Setări | IDE Setări | interpreți Python. Că a ajuns să lucreze pentru mine.

Publicat 12/03/2012 la 14:47
sursa de către utilizator

voturi
0

În cazul meu pe OS X 10.8 și PyCharm 3, IDE a fost cules automat instalații diferite de Python. Am observat acest lucru în Eclipse Pydev, care a luat pe cel drept una și a lucrat cum era de așteptat. Nu a fost ușor de observat diferența dintre cele două: /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/python

Publicat 10/04/2014 la 14:51
sursa de către utilizator

voturi
0

Am urmați instrucțiunile din această întrebare: Cum se instalează OpenCV pe Windows și activați - l pentru PyCharm fără a utiliza managerul de pachete

După aceea nu funcționează și am reinstala EID pycharm fără alte modificări și acum funcționează perfect. Știu că acest lucru nu este cel mai bun răspuns, dar după o mulțime de timp pierdut și încercând diferite workarounds aceasta a fost cea care rezolva problema mea, sper că vă poate ajuta.

Publicat 23/03/2017 la 23:34
sursa de către utilizator

voturi
0

Am observat o diferență de comportament pycharm în funcție de modul de a importa. folosind:

import cv2

finalizarea automată nu funcționează,

în timp ce cu:

from cv2 import cv2

Finalizarea lucrărilor auto

Publicat 03/05/2019 la 16:26
sursa de către utilizator

voturi
0

A trebuit să hardlink binar în dosarul lib-dynload de interpret meu.

$ cd /usr/lib/python3.7/lib-dynload
$ sudo ln /usr/local/lib/python3.7/dist-packages/cv2/python-3.7/cv2.cpython-37m-x86_64-linux-gnu.so cv2.cpython-37m-x86_64-linux-gnu.so

Căile pot varia în mediul dumneavoastră. Nu-l testet pe OSX sau Windows, dar se poate lucra acolo. Dosarul lib-dynload este aici: Structura proiectului

Publicat 15/02/2020 la 13:06
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more