首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ModuleNotFoundError:没有名为“rest_framework”的模块(尝试了许多解决方案,但没有工作)

ModuleNotFoundError:没有名为“rest_framework”的模块(尝试了许多解决方案,但没有工作)
EN

Stack Overflow用户
提问于 2022-10-22 20:34:01
回答 2查看 97关注 0票数 1

我遇到了这个错误。

ModuleNotFoundError: No module named 'rest_framework'

我设置了一个虚拟环境,并正确安装了rest框架。

当我运行pip3.10 show djangoframework

代码语言:javascript
运行
复制
Name: djangorestframework
Version: 3.14.0
Summary: Web APIs for Django, made easy.
Home-page: https://www.django-rest-framework.org/
Author: Tom Christie
Author-email: tom@tomchristie.com
License: BSD
Location: c:\users\chan\desktop\testpy\lib\site-packages
Requires: django, pytz
Required-by:

我的解释器是Python3.10.8,它是相同的版本,适用于虚拟环境。我的VSCode将我的解释器显示为Python 3.10.8 ("TESTPY":venv) .\Scripts\python.exe

我还将rest_framework包含在INSTALLED_APPS中的settings.py中

代码语言:javascript
运行
复制
INSTALLED_APPS = [
    'rest_framework',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

下面是我得到的全部错误。

代码语言:javascript
运行
复制
(TESTPY) PS C:\Users\Chan\Desktop\TESTPY> python3 manage.py runserver
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2288.0_x64__qbz5n2kfra8p0\lib\threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2288.0_x64__qbz5n2kfra8p0\lib\threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\Chan\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\django\utils\autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\Chan\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\django\core\management\commands\runserver.py", line 125, in inner_run
    autoreload.raise_last_exception()
  File "C:\Users\Chan\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\django\utils\autoreload.py", line 87, in raise_last_exception 
    raise _exception[1]
  File "C:\Users\Chan\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\django\core\management\__init__.py", line 398, in execute     
    autoreload.check_errors(django.setup)()
  File "C:\Users\Chan\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\django\utils\autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\Chan\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\Chan\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\django\apps\registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "C:\Users\Chan\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\django\apps\config.py", line 193, in create
    import_module(entry)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2288.0_x64__qbz5n2kfra8p0\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'rest_framework'

我搜索了很多次来解决这个问题,现在所有的链接都是紫色的。有人知道为什么会这样吗?谢谢

编辑:

当我运行pip list时,这就是我所得到的。

代码语言:javascript
运行
复制
(TESTPY) PS C:\Users\Chan\Desktop\TESTPY> pip list
Package             Version
------------------- -------
asgiref             3.5.2
Django              4.1.2
djangorestframework 3.14.0
pip                 22.3
pytz                2022.5
setuptools          63.2.0
sqlparse            0.4.3
tzdata              2022.5
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-10-22 21:00:48

也许您应该只使用python命令而不是python3

当您激活一个virtualenv时,所发生的情况是将一些shell二进制文件添加到您的PATH中。这些二进制文件通常是pythonpip,也可能是来自于虚拟环境中安装的其他pip包的其他二进制文件。

因此,当virtualenv被激活时,python命令将在virtualenv中执行python二进制文件。但是python3的可执行文件并不是过激的,所以当您执行它时,您只需要得到系统python3

所以试着:

代码语言:javascript
运行
复制
python manage.py runserver

或者你甚至可以这么做

代码语言:javascript
运行
复制
./manage.py runserver

如果这不起作用,可能是因为manage.py文件需要有执行权限

代码语言:javascript
运行
复制
chmod +x manage.py
票数 1
EN

Stack Overflow用户

发布于 2022-10-22 20:58:15

您有两个不同的python安装。

pip3 show中,有这样一行:

代码语言:javascript
运行
复制
Location: c:\users\chan\desktop\testpy\lib\site-packages

但是您的堆栈跟踪列出了

代码语言:javascript
运行
复制
File "C:\Users\Chan\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74166924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档