Python Django Rest框架——没有名为Rest\u框架的模块
我已经使用Python Django Rest框架——没有名为Rest\u框架的模块,python,django,python-3.x,pip,django-rest-framework,Python,Django,Python 3.x,Pip,Django Rest Framework,我已经使用pip install djangorestframework安装了django rest框架,但在运行“python3 manage.py sycndb”时仍然出现此错误: ImportError:没有名为“rest\U framework”的模块 我正在使用python3,这是我的问题吗?您需要使用pip3(pip for python 3)安装django rest框架: 可以找到关于如何安装pip3的说明也许您安装的DRF是针对python2的,而不是针对python3的 您可
pip install djangorestframework
安装了django rest框架,但在运行“python3 manage.py sycndb”时仍然出现此错误:
ImportError:没有名为“rest\U framework”的模块
我正在使用python3,这是我的问题吗?您需要使用pip3(pip for python 3)安装django rest框架:
可以找到关于如何安装pip3的说明也许您安装的DRF是针对python2的,而不是针对python3的 您可以使用python控制台检查模块:
import rest_framework
实际上,您使用pip
安装模块,它将安装python2模块
您应该为python3安装pip:
sudo apt-get install python3-setuptools
sudo easy_install3 pip
因此,您可以安装python3模块。当使用像
virtualenv
这样的虚拟环境而不全局安装django rest framework时,您可能会出现错误。
解决办法是:
- 对于Linux,首先使用
激活环境;对于Windows,首先使用{{your environment name}}/bin/activate
激活环境{{your environment name}}/Scripts/activate
- 然后再次运行该命令
pip安装djangorestframework JWT
如果您忘记了,
,就会发生这种情况,这很奇怪
错误示例:需要一个,
INSTALLED_APPS = [
'rest_framework'
'django.contrib.contenttypes',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
如果出现以下错误,请尝试按给定的图标:
“ModuleNotFoundError:没有名为'rest_framework'的模块”
它将要求您导入给定的包,即rest\u framework
,然后再次运行代码
这对我来说很有效,我花了几天的时间试图解决这个错误。如果你正在使用某种虚拟环境,就这样做吧
完成此操作后,您可以再次尝试运行您的命令,这次可能不会有任何导入程序。如果您正在使用PyCharm,我发现在将“rest\u framework”添加到我的
已安装的应用程序后重新启动程序并关闭所有提示对我也有效。,检查是否有微小的打字错误:
它是rest\u框架
,中间有一个下划线(
)
我花了一段时间才发现我用的是破折号 如果您使用了管道NV:
如果您通过新的pipenv安装了rest\u框架,
您需要在虚拟环境中运行它:
1.pipenv外壳
2.(env)现在,运行您的命令(例如python manage.py runserver)首先在系统上全局安装框架解决了我的问题
machine@debian:/$ sudo pip install djangorestframework
or;
root@debian:/# pip install djangorestframework
在Windows上,使用PowerShell,我必须关闭并重新打开控制台,然后响应虚拟环境。在我的情况下,我的问题不同。我在bash_配置文件中创建了一个别名,如:
alias python=/usr/local/bin/python3
即使我激活了我的环境,当我运行命令时,python解释器也是从系统而不是从我的环境访问的
我刚刚从bash_配置文件中删除了别名,它工作得很好。(我假设使用容器的人知道他们在做什么,但这是我的两分钱)
假设您使用cookiecutter django设置项目并启用docker容器支持,请确保使用djangorestframework==
(或您尝试安装的任何python依赖项)更新pip需求文件,并重新构建docker映像(本地和生产)。要安装它,请执行以下操作:
pip install djangorestframework
pip install markdown
pip install django-filter
我们必须检查一些常见错误:
选中已安装列表元素处的逗号
打字错误
我也遇到过同样的问题,遵循这些说明,它对我起了作用:
python-mpip安装——升级pip
(升级pip)
pip3安装djangorestframework
添加了rest\u框架
作为第一个应用程序:
INSTALLED_APPS = [
'rest_framework',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#apps
'apps.endpoints',
]
我知道对于这个问题和许多其他答案都有一个公认的答案,但我只是想补充一个例子,我遇到的另一个例子是将django和django rest框架更新到最新版本,以使它们能够正常工作,不会出现任何错误
因此,您只需使用以下方法卸载django和django rest框架:
pip卸载django
pip卸载djangorestframework
然后使用以下方法再次安装:
pip-install-django
pip-install-djangorestframework
是的,对我来说,它也是python版本
使用pipenv更好
使用python 3创建虚拟环境
安装pipenv:pip3安装pipenv
创建virtualenv:pipenv--python3
激活虚拟环境:pipenv shell
我最近安装了最新的Django 3.1和Django Rest Framework 3.11.1库,只是为了最终实现截至2020年4月11日DRF不支持Django 3.1。我没有意识到需要使用上面提到的确切版本
如果你因为不明白DRF为什么不导入而感到毛骨悚然,请检查这些,并确保你的应用程序兼容
INSTALLED_APPS = [
'rest_framework',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#apps
'apps.endpoints',
]
可能忘记了逗号“,”或在粘贴包装名称时可能有额外的空格“packagename”在我的情况下,我已将其安装在virtualenv中,但在运行命令时忘记激活virtualenv
python3 manage.py makemigrations
source [virtualenv folder-name]/bin/activate
python3 manage.py makemigrations
所以在我的例子中,我必须激活环境,然后运行命令
python3 manage.py makemigrations
source [virtualenv folder-name]/bin/activate
python3 manage.py makemigrations
这解决了我的问题。使用pip安装程序单独安装缺失的模块
machine@debian:/$ sudo pip install djangorestframework
or;
root@debian:/# pip install djangorestframework
pip3 install djangorestframework-jsonapi
这对我来说很有效。另外,如果您在运行docker compose up时遇到此错误
。确保运行docker compose-up--build
,因为docker需要安装