当前位置: 代码迷 >> 综合 >> Django报错:ImportError: DLL load failed while importing _sqlite3: 找不到指定的模块
  详细解决方案

Django报错:ImportError: DLL load failed while importing _sqlite3: 找不到指定的模块

热度:58   发布时间:2023-09-30 16:38:44.0

前言:

在PyCharm下使用Anaconda中的Python虚拟环境,创建Django项目时报错,其中Django是使用命令行pip install Django安装的,报错截图和代码如下:
Django报错:ImportError: DLL load failed while importing _sqlite3: 找不到指定的模块

创建 Django 应用程序时出错: Python 端错误。退出代码: 1,错误: Traceback (most recent call last):File "C:\Users\suyin\Desktop\restaurant\manage.py", line 22, in <module>main()File "C:\Users\suyin\Desktop\restaurant\manage.py", line 18, in mainexecute_from_command_line(sys.argv)File "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\core\management\__init__.py", line 419, in execute_from_command_lineutility.execute()File "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\core\management\__init__.py", line 395, in executedjango.setup()File "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\__init__.py", line 24, in setupapps.populate(settings.INSTALLED_APPS)File "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\apps\registry.py", line 114, in populateapp_config.import_models()File "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\apps\config.py", line 301, in import_modelsself.models_module = import_module(models_module_name)File "C:\Users\suyin\.conda\envs\restaurant\lib\importlib\__init__.py", line 127, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)File "<frozen importlib._bootstrap>", line 1030, in _gcd_importFile "<frozen importlib._bootstrap>", line 1007, in _find_and_loadFile "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlockedFile "<frozen importlib._bootstrap>", line 680, in _load_unlockedFile "<frozen importlib._bootstrap_external>", line 855, in exec_moduleFile "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removedFile "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\contrib\auth\models.py", line 3, in <module>from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManagerFile "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\contrib\auth\base_user.py", line 48, in <module>class AbstractBaseUser(models.Model):File "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\db\models\base.py", line 122, in __new__new_class.add_to_class('_meta', Options(meta, app_label))File "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\db\models\base.py", line 326, in add_to_classvalue.contribute_to_class(cls, name)File "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\db\models\options.py", line 207, in contribute_to_classself.db_table = truncate_name(self.db_table, connection.ops.max_name_length())File "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\utils\connection.py", line 15, in __getattr__return getattr(self._connections[self._alias], item)File "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\utils\connection.py", line 62, in __getitem__conn = self.create_connection(alias)File "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\db\utils.py", line 204, in create_connectionbackend = load_backend(db['ENGINE'])File "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\db\utils.py", line 111, in load_backendreturn import_module('%s.base' % backend_name)File "C:\Users\suyin\.conda\envs\restaurant\lib\importlib\__init__.py", line 127, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)File "C:\Users\suyin\.conda\envs\restaurant\lib\site-packages\django\db\backends\sqlite3\base.py", line 15, in <module>from sqlite3 import dbapi2 as DatabaseFile "C:\Users\suyin\.conda\envs\restaurant\lib\sqlite3\__init__.py", line 23, in <module>from sqlite3.dbapi2 import *File "C:\Users\suyin\.conda\envs\restaurant\lib\sqlite3\dbapi2.py", line 27, in <module>from _sqlite3 import *
ImportError: DLL load failed while importing _sqlite3: 找不到指定的模块。
,输出: 

环境

  • Python版本:3.9.5
  • Django版本:3.2.4
  • conda版本:4.10.1
  • Anaconda Navigator版本:2.0.3

报错原因

PyCharm在Anaconda虚拟环境下找不到sqlite3相关的模块

解决方案(步骤)

我这里以Windows 64位系统为例:

  1. 去SQLite官网下载sqlite3,如图:
    Django报错:ImportError: DLL load failed while importing _sqlite3: 找不到指定的模块
  2. 解压文件sqlite-dll-win64-x64-3360000.zip
  3. 将解压后的文件sqlite3.defsqlite3.dll复制到你Django项目所依赖的虚拟环境下的DLLs目录中,如图:
    Django报错:ImportError: DLL load failed while importing _sqlite3: 找不到指定的模块
  4. 重启PyCharm,然后再创建Django项目即可

备用链接

下载sqlite3可能需要梯子,下载不下来的话可以用我这里下载好的
密码:15kn

  相关解决方案