Saya memiliki struktur direktori
├── simulate.py
├── src
│ ├── networkAlgorithm.py
│ ├── ...
Dan saya dapat mengakses modul jaringan dengan sys.path.insert()
.
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
Namun, pycharm mengeluh bahwa ia tidak dapat mengakses modul. Bagaimana saya bisa mengajarkan pycham untuk menyelesaikan referensi?
__init__.py
file?Jawaban:
Menambahkan secara manual seperti yang telah Anda lakukan memang merupakan salah satu cara untuk melakukan ini, tetapi ada metode yang lebih sederhana, dan itu adalah dengan hanya memberi tahu pycharm bahwa Anda ingin menambahkan
src
folder sebagai root sumber, dan kemudian menambahkan source root ke python Anda jalan.Dengan cara ini, Anda tidak perlu menyulitkan hal-hal dalam pengaturan juru bahasa Anda:
src
sebagai root konten sumber:PYTHONPATH
:Dengan cara ini, Anda dapat menambahkan apa pun yang Anda inginkan sebagai root sumber, dan semuanya akan berjalan dengan baik. Jika Anda tidak menandainya sebagai root sumber, Anda akan mendapatkan kesalahan:
Setelah semua ini jangan lupa restart. Dalam menu PyCharm pilih: File -> Cache / Restart tidak valid
sumber
src
, kami memilikiviews
folder di dalamnya yang saya milikimyview.py
, saya masih menerima kesalahan referensi yang belum terselesaikan ketika mencobafrom src.views.myview import <my_function>
...__init__.py
file dalamsrc
foldersrc
folder sebagai root sumberPYTHONPATH
(lihat di atas)sumber
Jika ada yang masih melihat ini, jawaban yang diterima masih berfungsi untuk PyCharm 2016.3 ketika saya mencobanya. UI mungkin telah berubah, tetapi opsinya masih sama.
yaitu. Klik kanan pada folder root Anda -> 'Tandai Direktori Sebagai' -> Sumber Root
sumber
Setelah menguji semua solusi, saya sarankan Anda untuk melihat
Settings -> Project -> project dependencies
dan mengaturnya kembali.sumber
pygame
sana dan tidak ada lagi masalah referensi yang tidak terselesaikan!Biasanya, $ PYTHONPATH digunakan untuk mengajar juru bahasa python untuk menemukan modul yang diperlukan . PyCharm perlu menambahkan jalur di Preferensi.
sumber
Secara umum, ini adalah masalah paket yang hilang, cukup tempatkan tanda sisipan di referensi yang belum terselesaikan dan tekan
Alt+Enter
untuk mengungkapkan opsi, maka Anda harus tahu bagaimana menyelesaikannya.sumber
Setelah mengikuti jawaban yang diterima, melakukan yang berikut memecahkannya untuk saya:
File
→Settings
→Project <your directory/project>
→Project Dependencies
Pilih direktori / proyek tempat file Anda yang memiliki impor yang belum terselesaikan berada dan centang kotak untuk memberi tahu Pycharm bahwa proyek itu tergantung pada proyek Anda yang lain.
Hirarki folder saya sedikit berbeda dari yang ada di pertanyaan. Milik saya seperti ini
Memberitahu Pycharm bahwa src tergantung pada
MyDirectory
penyelesaian masalah untukku!sumber
Meskipun semua jawaban sangat membantu, ada satu informasi kecil yang harus dijelaskan secara eksplisit:
.py
file dan membuat file__init__.py
(kosong) di sana.Mengapa ini membantu adalah karena file ini diperlukan untuk membuat Python memperlakukan direktori sebagai berisi paket. Bersulang!
sumber
Instal melalui PyCharm (berfungsi dengan Edisi Komunitas). Buka
Settings > Project > Project Interpreter
lalu klik ikon + hijau pada tangkapan layar di bawah ini. Pada dialog 2 yang terbuka, masukkan nama paket dan klik tombol 'Instal Paket'.sumber
Sering kali yang terjadi adalah plugin tidak diinstal. misalnya
Jika Anda sedang mengembangkan proyek Django dan Anda tidak memiliki plugin Django diinstal di pyCharm, ia mengatakan kesalahan 'referensi yang belum terselesaikan'. Rujuk: https://www.jetbrains.com/pycharm/help/resolving-references.html
sumber
Silakan periksa apakah Anda menggunakan penerjemah yang tepat seperti yang seharusnya. Saya mendapatkan kesalahan "referensi yang tidak terselesaikan 'Django'" untuk menyelesaikan masalah ini. Saya mengubah Project Interpreter (Diubah Python 3 menjadi Python 2.7) dari pengaturan proyek: Pilih Project, buka File -> Settings -> Project: -> Project Interpreter -> Brows dan Pilih versi atau Juru Bahasa yang benar (mis. /usr/bin/python2.7).
sumber
Dalam kasus saya masalahnya adalah saya menggunakan
Virtual environment
yang tidak memiliki akses ke paket situs global. Dengan demikian, penerjemah tidak mengetahui paket yang baru diinstal.Untuk mengatasi masalah, hanya mengedit atau menciptakan juru virtual Anda dan centang
Inherit global site-packages
pilihan.sumber
Ini bekerja untuk saya:
Top Menu -> File -> Invalidate Caches/Restart
sumber
Dilakukan di PyCharm 2019.3.1 Klik kanan pada folder src Anda -> "Tandai Direktori sebagai" -> Klik-pada "Dikecualikan" dan folder src Anda harus berwarna biru.
sumber
Pycharm menggunakan venv. Di konsol venv Anda harus menginstal paket secara eksplisit atau masuk
settings -> project interpreter -> add interpreter -> inherit global site-packages
.sumber
Dalam versi yang lebih baru dari pycharm Anda dapat melakukannya hanya dengan mengklik kanan pada direktori atau paket python dari mana Anda ingin mengimpor file, lalu klik pada 'Tandai Direktori Sebagai' -> 'Sumber Root'
sumber
Cara termudah untuk memperbaikinya adalah dengan melakukan hal berikut di perangkat lunak pyCharm Anda:
Klik pada: File> Pengaturan> (Proyek: nama proyek Anda)> Project Interpreter>
kemudian klik ikon "+" di sebelah kanan untuk mencari paket yang Anda inginkan dan menginstalnya.
Nikmati coding !!!
sumber