[Django]-Import "rest_framework" could not be resolved. But I have installed djangorestframework, I don't know what is going wrong

88👍

If you are using VSCode, Ctrl + Shift + P -> Type and select ‘Python: Select Interpreter’ and enter into your projects virtual environment. This is what worked for me.

8👍

  1. Control+ shift + p.
  2. type ‘Python: Select Interpreter‘ and select the same.
  3. choose your virtual env from the list
    if it is not listed please choose
    Enter Interpreter path’
  4. Give pathe like this ‘c:\users\user\django\myvenv\scripts\python.ex’

6👍

  1. Run in terminal

    pip install django-rest-framework
    
  2. Add 'rest_framework' to INSTALLED APPS in settings.py

  3. If it does not work, restart the editor(vscode or something)

4👍

What if you selected the right interpreter (that of virtual environment), but still getting that error?

Then first check the path of your pip in the terminal of that virtual environment.
Use this command: which pip
It should only point to the path where your virtual environment folder is located, for example:

name_of_virtualenv/bin/pip
name_of_virtualenv/Scripts/pip

If shown otherwise, to solve this issue:

  1. delete the virtual environment folder and create it again.
  2. which pip must show the right path now in the new virtual env terminal.
  3. reinstall the packages.

2👍

Answers of @nayburz and @Faseela worked for me.

  1. Control+ shift + p.
  2. type ‘Python: Select Interpreter’ and select the same.
  3. choose your virtual env from the list if it is not listed please choose Enter Interpreter path’
  4. path of your virtual env python.exe file.

mine was : D:\Python\Python_Django\trydjango\env\Scripts\python.exe

You can find similar path according to your project

1👍

for others using venv and if doing ‘Python:Selecting Interpreter’ and selecting your venv doesn’t work then try these steps. These are for Mac.

  1. open Terminal
  2. navigate to your project folder.
  3. activate virtual environment ( > source {path_to_venv_home}\bin\activate)
  4. now open vscode with ‘code .’

In case ‘code .’ doesn’t work then should add to your path.
Try ‘Launching from the command Line’ section from https://code.visualstudio.com/docs/setup/mac

1👍

If you have set all as mentioned here, and you still have that error. makesure you check in your code editor if you are in the directory where your virtual environement is found.

It is good to mention that, when you open your code editor (VS code for example) makesure your open at the directory where your Virtual environment (venv) is found. this will certainly be the case.

0👍

Add your python file like C:\Users\hendrialqory\AppData\Local\Programs\Python\Python39-32\Lib\site-packages, Go to Setting Environment Variables and input your file python.

0👍

I was having similar problem.

  • go to your venv folder > Lib
  • make sure you see the djangorestframework and rest_framework folder
  • if they are absent, you should know you are pip installing those packages
    in the wrong venv.
👤TWIGA

0👍

For those using VSCode, if selecting the Python Interpreter still failed and also, when you run which pip, the result is not pointing to your virtual environment, something path/to/myvenv/bin/pip, then do the following:

  1. Delete the current virtual environment
  2. Navigate to the directory where your virtual environment should located.
  3. Create a new one by running the command: python3 -m venv myvenv
  4. Activate the virtual environment by running the command: source venv/bin/activate
  5. If all goes well, then you should be able to see the name of your virtual environment appear in the terminal prompt. For example, (myvenv) user@computer:~$
  6. Now, running which pip should output something like /path/to/myvenv/bin/pip as confirmation that your virtual environment is set and activated.
  7. You can now reinstall your rest_framework package as pip install djangorestframework, and the pylance should be able to recognise rest_framework

At least, that worked for me when I landed into that same linter issues. Also, note that you will need to activate the virtual environment every time you open a new terminal window before running any command, say pip, python and the others.

0👍

Here’s what I solved my problem:

  1. Activate django virtual environment by "pipenv shell"
  2. Make sure I installed restframework library, by "pip install djangorestframework"
  3. Ctrl/Command + Shift + P to call interpreter and select the one with current projects
👤Rayzz

Leave a comment