Pycharm: "unresolved reference" error on the IDE when opening a working project

PythonPycharm

Python Problem Overview


Intro

I have a Python project on a git repository. Everything works ok for most of the team members, we can sync the code and edit it without any problem with Pycharm on different platforms (Windows, Linux)

The problem

On one of the computers we are getting "Unresolved reference" all over the code on almost every import with the exception of Python's built in libraries (i.e. import datetime is working). This computer is running the Mac version of Pycharm.

The question

Anyone knows how to solve this?, since most of the imports are not recognized code completion and navigation trough goto->declaration and so on is not working. Is there any known issue with the Mac version?

Thanks in advance!

Python Solutions


Solution 1 - Python

The key is to mark your source directory as a source root. Try the following:

  • In the Project view, right-click on the Python source directory
  • In the dialog menu select Mark Directory As > Source Root

The folder should now appear blue instead of beige, to indicate it is a Python source folder.

You can also configure this in PyCharm preferences by doing the following for a project that is already in PyCharm:

  • In the Mac toolbar, select PyCharm > Preferences
  • In the window that opens, select Project Structure from the menu pane on the left
  • Select your project in the middle pane, if necessary
  • Right-click on your Python source in the right pane and select Sources from the menu dialog

Solution 2 - Python

I also had the problem, and it took me few hours to find the exact solution.

You need to confirm the following things.

  1. 'django.contrib.staticfiles', is added to INSTALLED_APPS in the settings.py file of your application.

  2. The directory with the static contents (for example, images), named static, resides under the application root.

Now Do the following

PyCharm > Preferences > Project Settings > Django

Make sure your Django Project root, Settings.py and manage.py script are well defined in the dialog box.

You are good to go. Hope this helps.

Solution 3 - Python

I did all the stuff above from einnocent and myildirim but still had to do the following:

close pycharm and manually delete the .idea folder, this deletes everything pycharm knows about the code.

open pycharm, reimport the project

the combination of setting the correct source root, restarting python with invaliding cache and deleting the .idea folder / reimporting the pycharm project fixed it for me.

Solution 4 - Python

I faced similar issue with pyspark ( spark 2.1 ) & luigi.

Failed tries:

  1. Setting PYTHONPATH environment variable
  2. Invalidate cache & restart pycharm
  3. Mark directory as Source Root


Unresolved reference pyspark could be fixed by adding the spark's python directory as Content Root in the project, but running the project as luigi task gave the same error.

Successfull steps

  • Create an empty __init__.py file in the project

  • Include following lines of code at the top of script

     ...
     import sys
    
     sys.path.append("/path/to/spark/python")
    
     sys.path.append("/path/to/spark/python/lib")
     
     ...
     // import pyspark files after above mentioned lines
    

and the Unresolved reference error issue was fixed both in pycharm & luigi task.

Solution 5 - Python

My ten-penneth - If you're working with virtual environments (have a venv directory) make sure it is marked as excluded.

Plagiarised from above:

  • In the Project view, right-click on the venv directory
  • In the dialog menu select Mark Directory As > Excluded

The directory should turn orange...

This sometimes happens if you've done a git clean or for whatever reason had to rebuild your environment and PyCharm hasn't noticed

Solution 6 - Python

The other reason may be project interpreter. For example, if you are using Python3.x, but the interpreter is for Python2.x You can check here:

> File | Settings | Project: 'projectname' | Project Interpreter

Solution 7 - Python

PyCharm - Alt-F(ile); Settings; Project Structure; click +Add content root; point your folder containing the package in contention: /home/joker/anaconda3/envs/conda_py27/lib/python2.7/site-packages. I additionally marked as resources (not sure if this is mandatory). Click ok and the reindexing happens. This solved the problem for me in PyCharm Professional 2016.2.3

Solution 8 - Python

PyCharm > select "File" menu > select "Invalidate Caches / Restart" menu option

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSergio AyestaránView Question on Stackoverflow
Solution 1 - PythoneinnocentView Answer on Stackoverflow
Solution 2 - PythonA.J.View Answer on Stackoverflow
Solution 3 - PythonSimonView Answer on Stackoverflow
Solution 4 - PythonAbdul MannanView Answer on Stackoverflow
Solution 5 - PythonEdwardView Answer on Stackoverflow
Solution 6 - PythontorinaView Answer on Stackoverflow
Solution 7 - PythonemeralddoveView Answer on Stackoverflow
Solution 8 - PythonMacGyverView Answer on Stackoverflow