Saya sangat baru mengenal PyDev dan Python, meskipun saya telah banyak menggunakan Eclipse untuk Java. Saya mencoba untuk mengerjakan beberapa contoh Dive Into Python dan ini terasa seperti masalah yang sangat sepele yang menjadi sangat mengganggu. Saya menggunakan Ubuntu Linux 10.04.
Saya ingin dapat menggunakan file odbchelper.py, yang terletak di direktori /Desktop/Python_Tutorials/diveintopython/py
Ini adalah file example.py saya yang saya kerjakan di proyek PyDev / Eclipse saya:
import sys
sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py")
Ini berfungsi dengan baik, tetapi kemudian saya ingin baris berikutnya dari kode saya menjadi:
import odbchelper
dan ini menyebabkan kesalahan impor yang tidak terselesaikan setiap saat. Saya telah menambahkan __init__.py
file ke hampir setiap direktori yang mungkin dan itu tidak membantu apa pun. Saya telah mencoba menambahkan __init__.py
file satu per satu ke berbagai tingkat direktori antara lokasi proyek dan file odbchelper.py, dan saya juga mencoba menambahkan __init__.py
file ke semua direktori di antaranya secara bersamaan. Tidak ada yang berhasil.
Yang ingin saya lakukan adalah memiliki proyek di suatu tempat di direktori lain, katakanlah /Desktop/MyStuff/Project
, di mana saya memiliki example.py ... dan kemudian dari example.py saya ingin mengimpor odbchelper.py dari/Desktop/Python_Tutorials/diveintopython/py/
Setiap tanggapan papan pesan yang dapat saya temukan hanya mengatakan untuk menggunakan sys.path.append()
fungsi untuk menambahkan direktori ini ke jalur saya, dan kemudian mengimpornya ... tetapi justru itulah yang saya lakukan dalam kode saya dan itu tidak berfungsi.
Saya juga telah mencoba Ctrl- 1trik untuk menekan pesan kesalahan, tetapi program tersebut masih belum berfungsi dengan benar. Saya mendapatkan kesalahan ImportError: No module named odbchelper
,. Jadi jelas tidak mendapatkan jalur yang ditambahkan, atau ada beberapa masalah yang semua permutasi saya untuk menambahkan __init__.py
file tidak terjawab.
Sangat membuat frustasi bahwa sesuatu yang sederhana ini ... memanggil sesuatu dari beberapa file yang ada di tempat lain di mesin saya ... membutuhkan banyak usaha.
grp
modul yang belum terselesaikan . Saya baru saja menambahkannya kebuiltins
daftar di Preferences> PyDev> Interpreters> Python> Forced Builtins dan masih mendapatkan autocompletion untuk modul ituJawaban:
Di properti untuk proyek pydev Anda, ada panel yang disebut "PyDev - PYTHONPATH", dengan sub-panel yang disebut "Perpustakaan Eksternal". Anda dapat menambahkan folder sumber (folder apa pun yang memiliki
__init__.py
) ke jalur menggunakan panel itu. Kode proyek Anda kemudian dapat mengimpor modul dari folder sumber tersebut.sumber
sys.path
C:\Python27\lib\site-packages
, tapi di komputer saya, folder lib adalah dikapitalisasi:C:\Python27\Lib\site-packages
. Mengganti entri huruf kecil dengan huruf besar, dan kemudian File-> Mulai ulang memperbaiki masalah untuk saya. Harapan yang membantu orang lain di luar sana :)Saya menggunakan eclipse kepler 4.3, PyDev 3.9.2 dan di ubuntu 14.04 saya, saya mengalami masalah yang sama. Saya mencoba dan menghabiskan waktu berjam-jam, dengan semua pilihan di atas tetapi sia-sia. Kemudian saya mencoba yang berikut ini yang bagus:
Dan saya menggunakan Python 2.7 sebagai penerjemah, meskipun tidak berpengaruh, menurut saya.
sumber
Saya baru saja mengupgrade proyek WXWindows ke Python 2.7 dan tidak menemui kesulitan untuk membuat Pydev mengenali interpreter baru tersebut. Melakukan hal yang sama seperti di atas mengonfigurasi penerjemah, membuat instalasi baru Eclipse dan Pydev. Saya pikir beberapa bagian python pasti rusak, jadi saya menginstal ulang semuanya lagi. Arghh! Menutup dan membuka kembali proyek, dan memulai ulang Eclipse di antara semua perubahan ini.
AKHIRNYA memperhatikan Anda dapat 'menghapus konfigurasi proyek PyDev' dengan mengklik kanan pada proyek. Kemudian bisa dibuat menjadi proyek PyDev lagi, sekarang bagus seperti emas!
sumber
Saya memperbaiki pythonpath saya dan semuanya keren ketika saya mengimpor barang melalui konsol, tetapi semua impor yang belum terselesaikan ini masih ditandai sebagai kesalahan dalam kode saya, tidak peduli berapa kali saya memulai ulang gerhana atau menyegarkan / membersihkan proyek.
Saya mengklik kanan proyek-> Pydev-> Hapus penanda kesalahan dan itu menyingkirkan masalah itu. Jangan khawatir, jika kode Anda mengandung kesalahan yang sebenarnya, mereka akan ditandai ulang.
sumber
proyek -> properti -> pydev-pythonpath -> perpustakaan eksternal -> tambahkan folder sumber, tambahkan FOLDER ORANG TUA proyek. Kemudian mulai ulang gerhana.
sumber
Inilah yang berhasil untuk saya (disarankan oleh soulBit):
Ini adalah solusi paling sederhana yang pernah ada dan sepenuhnya menghilangkan hal yang mengganggu.
sumber
Ada dua cara untuk menyelesaikan masalah ini:
Sekarang saya tidak melihat kesalahan lagi, dan fitur penyelesaian kode bekerja dengan baik dengan "botol".
sumber
Saya menjalankan Eclipse 4.2.0 (Juno) dan PyDev 2.8.1, dan mengalami masalah ini dengan lib yang diinstal ke jalur paket situs saya. Menurut pertanyaan SO ini:
File Pydev dan * .pyc
... ada masalah dengan file PyDev dan pyc. Dalam kasus lib tertentu yang saya coba rujuk, semua yang dikirimkan adalah file pyc.
Inilah yang saya lakukan untuk mengatasi ini:
Jalankan uncompyle2 terhadap file * .pyc di paket situs lib. Contoh:
uncompyle2 -r -o / tmp / path / ke / situs-paket / lib
Kesalahan impor yang belum terselesaikan terkait dengan file .pyc sekarang akan hilang.
sumber
Berikut, menurut saya akan menyelesaikan masalah
Sebuah. Sesuai saran David German. Namun ini hanya berlaku untuk proyek tertentu di mana Anda berada b. Tambahkan "~ / Desktop / Python_Tutorials / diveintopython / py" ke dalam PythonPath baru di bawah Window -> Preferences -> PyDev -> Interpreters -> Python Interpreter -> Libraries subtab -> NewFolder
Semoga membantu.
sumber
Saya mengalami beberapa masalah saat mengimpor pustaka tambahan, setelah mencoba menyelesaikan masalah, dengan memahami PYTHONPATH, Penerjemah, dan Tata Bahasa, saya menemukan bahwa saya melakukan semuanya menulis tetapi masalah terus berlanjut. Setelah itu, saya hanya menambahkan baris kosong baru di file yang mengalami kesalahan impor dan menyimpannya dan kesalahan itu teratasi .
sumber
INI berfungsi dengan sempurna untuk saya
Contoh lainnya adalah
sumber