PyCharm shows unresolved references error for valid code
Dmitry's response didn't work for me.
I got mine working by going to Project Interpreters, Selecting the "Paths" tab, and hitting the refresh button in that submenu. It auto-populated with something called "python-skeletons".
edit: screenshot using PyCharm 3.4.1 (it's quite well hidden)
File | Invalidate Caches... and restarting PyCharm helps.
In my case it was the directories structure. My project looks like this:
+---dir_A
+---dir_B
+app
|
\-run.py
So right click on dir_b > "mark directory as" > "project root"
There are many solutions to this, some more convenient than others, and they don't always work.
Here's all you can try, going from 'quick' to 'annoying':
- Do
File
->Invalidate Caches / Restart
and restart PyCharm.- You could also do this after any of the below methods, just to be sure.
- First, check which interpreter you're running:
Run
->Edit Configurations
->Configuration
->Python Interpreter
. - Refresh the paths of your interpreter:
File
->Settings
Project: [name]
->Project Interpreter
-> 'Project Interpreter': Gear icon ->More...
- Click the 'Show paths' button (bottom one)
- Click the 'Refresh' button (bottom one)
- Remove the interpreter and add it again:
File
->Settings
Project: [name]
->Project Interpreter
-> 'Project Interpreter': Gear icon ->More...
- Click the 'Remove' button
- Click the 'Add' button and re-add your interpeter
- Delete your project preferences
- Delete your project's
.idea
folder - Close and re-open PyCharm
- Open your project from scratch
- Delete your project's
- Delete your PyCharm user preferences (but back them up first).
~/.PyCharm50
on Mac%homepath%/.PyCharm50
on Windows
- Switch to another interpreter, then back again to the one you want.
- Create a new virtual environment, and switch to that environments' interpreter.
- Create a new virtual environment in a new location -- outside of your project folder -- and switch to that environment's interpreter.
- Switch to another interpreter altogether; don't switch back.
If you are using Docker, take note:
- Make sure you are using
pip3
notpip
, especially with remote docker and docker-compose interpreters. - Avoid influencing
PYTHONPATH
. More info here: https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000058690-Module-not-found-in-PyCharm-but-externally-in-Python .
If the above did not work for you, but you did find another trick, then please leave a comment.