“ModuleNotFoundError:Python 中没有名为‘django’的模块”
ModuleNotFoundError: No module named ‘django’ in Python
Python “ModuleNotFoundError: No module named ‘django’” 发生在我们忘记Django
在导入前安装模块或将其安装在不正确的环境中时。
要解决此错误,请通过运行命令安装模块pip install Django
。
在项目的根目录中打开终端并安装Django
模块。
# 👇️ in a virtual environment or using Python 2 pip install Django # 👇️ for python 3 (could also be pip3.10 depending on your version) pip3 install Django # 👇️ if you get permissions error sudo pip3 install Django pip install Django --user # 👇️ if you don't have pip in your PATH environment variable python -m pip install Django # 👇️ for python 3 (could also be pip3.10 depending on your version) python3 -m pip install Django # 👇️ using py alias (Windows) py -m pip install Django # 👇️ for Anaconda conda install -c anaconda django # 👇️ for Jupyter Notebook !pip install Django
安装Django包后,您应该可以导入和使用它。
import django print(django.__version__)
常见错误原因
出现错误的原因有多种:
- 没有
Django
通过运行安装包pip install Django
。 - 在与您正在使用的版本不同的 Python 版本中安装包。
- 全局安装包,而不是在您的虚拟环境中。
- 您的 IDE 运行的 Python 版本不正确。
- 命名您的模块
django.py
,这将影响官方模块。 - 声明一个名为
django
which 的变量将隐藏导入的变量。
如果错误仍然存在,请获取您的 Python 版本并确保您使用正确的 Python 版本安装包。
python --version
例如,我的 Python 版本是3.10.4
,所以我会安装 Django 包pip3.10 install Django
。
pip3.10 install Django # 👇️ if you get permissions error use pip3 (NOT pip3.X) sudo pip3 install Django
请注意,版本号对应于我正在使用的版本pip
。
pip
如果您的计算机上未设置PATH ,请替换pip
为
python3 -m pip
:
# 👇️ make sure to use your version of Python, e.g. 3.10 python3 -m pip install Django
如果“No module named ‘django’”错误仍然存在,请尝试重新启动您的 IDE 和开发服务器/脚本。
检查包是否安装
您可以
通过运行命令检查是否Django
安装了软件包pip show Django
。
# 👇️ check if you have Django installed pip show Django # 👇️ if you don't have pip set up in PATH python -m pip show Django
该pip show Django
命令将声明该包未安装或显示有关该包的一堆信息,包括该包的安装位置。
确保你的 IDE 使用正确的 Python 版本
如果未安装该包,请确保您的 IDE
使用的是正确版本的 Python。
Django
包,或者您的 IDE 可能被设置为使用不同的版本。例如,在 VSCode 中,您可以按CTRL + Shift + P
或(在 Mac 上为⌘
+ Shift
+ P
)打开命令面板。
然后在字段中键入“Python 选择解释器”。
然后从下拉菜单中选择正确的 python 版本。
在虚拟环境中安装包
如果您使用的是虚拟环境,请确保您是Django
在虚拟环境中而不是全局安装。
如果您还没有虚拟环境,可以尝试创建一个。
# 👇️ use correct version of Python when creating VENV python3 -m venv venv # 👇️ activate on Unix or MacOS source venv/bin/activate # 👇️ activate on Windows (cmd.exe) venv\Scripts\activate.bat # 👇️ activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # 👇️ install Django in virtual environment pip install Django
如果该python3 -m venv venv
命令不起作用,请尝试以下 2 个命令:
python -m venv venv
py -m venv venv
您的虚拟环境将使用用于创建它的 Python 版本。
django.py
Django
您也不应该声明一个名为django
as 的变量,这也会影响原始模块。
尝试重新安装包
如果错误未解决,请尝试卸载该Django
软件包,然后
重新安装。
# 👇️ check if you have Django installed pip show Django # 👇️ if you don't have pip set up in PATH python -m pip show Django # 👇️ uninstall Django pip uninstall Django # 👇️ if you don't have pip set up in PATH python -m pip uninstall Django # 👇️ install Django pip install Django # 👇️ if you don't have pip set up in PATH python -m pip install Django
尝试重新启动您的 IDE 和开发服务器/脚本。
也可以尝试升级Django包的版本。
pip install Django --upgrade # 👇️ if you don't have pip set up in PATH python -m pip install Django --upgrade
无法从源 Pylance 解析导入“django”
django
当模块未安装或您在 IDE(例如 Visual Studio Code)中选择了不正确的 Python 解释器时,会出现错误“无法从源 Pylance 导入“django”” 。
要解决该错误,请django
在您的 IDE 中安装并选择正确的 Python 解释器。
Import "django" could not be resolved from source Pylance(reportMissingModuleSource) [Ln 1, Col 8] Import "django.contrib" could not be resolved from source Pylance(reportMissingModuleSource) [Ln 2, Col 8]
确保在您的 IDE 中选择了正确的 Python 解释器
如果您的机器上安装了多个 Python 版本,您可能使用了不正确的版本安装了django
包,或者您的 IDE 可能被设置为使用不同的版本。
例如,在 Visual Studio Code 中,您可以:
- 按
CTRL + Shift + P
或(在 macOS 上为⌘
+Shift
+P
)打开命令面板。
然后在搜索字段中键入“Python 选择解释器” 。
- 从下拉菜单中选择正确的 python 版本。
如果错误仍然存在,请尝试重新启动您的 IDE 和开发服务器/脚本。VSCode 经常出现故障,重启即可解决问题。
如果错误未解决,请尝试使用 Visual Studio Code 终端安装django
模块。
您可以按键盘上的 CTRL + ` (反引号)打开 Visual Studio 代码终端。
CTRL+Shift+P
打开终端后,Visual Studio Code 将自动激活您的虚拟环境(如果有的话)。
运行pip install django
命令。
pip install django
如果错误仍然存在,请尝试通过指定路径来选择 Python 解释器:
- 按
CTRL + Shift + P
或(在 Mac 上为⌘
+Shift
+P
)打开命令面板。 - 在字段中键入“Python 选择解释器” 。
- 选择“输入解释器路径…”。
- 单击“查找”。
- 在打开的窗口中,导航到您的 Python 可执行文件:
- 如果您在 Windows 上有虚拟环境,请单击您的
venv
文件夹,然后双击该Scripts
文件夹,选择python.exe
文件,然后选择解释器。
- 如果您在 macOS 或 Linux 上有虚拟环境,请单击您的
venv
文件夹,然后双击该bin
文件夹,选择python
文件,然后选择解释器。
- 如果您没有虚拟环境,请使用以下命令之一获取您的
python.exe
或python
可执行文件的路径,指定文件路径并选择可执行文件。
where python python -c "import sys; print(sys.executable)"
如果错误仍然存在,请尝试重新启动您的 IDE 和开发服务器/脚本。
或者,使用注释来禁用警告
如果这些建议都没有帮助,您可以使用注释来禁用 IDE 中的 Pylance 警告。
import django # type: ignore print(django)
您只需将# type: ignore
命令添加到与导入语句相同的行中,即可禁用对特定导入的检查。