Python虚拟环境'venv'找不到'sqlite3'模块

2024-04-19 23:02:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我已为项目创建了虚拟环境:

python -m venv my_virtual_environment
cd my_project\Scripts
activate.bat

执行以下代码时:

import sys
print('\n Virtual environment: \n', sys.prefix)

import sqlite3

我得到以下信息:

Virtual environment: 

my_path\my_project\my_virtual_environment

Traceback (most recent call last)

File ...
    import sqlite3

File ...
    from sqlite3.dbapi2 import *

File ...
    from _sqlite3 import *

ImportError: DLL load failed: The specified module could not be found.

据我所读it is not necessary to import sqlite3

我试过使用virtualenv,就像在链接中一样,但无法激活它

如果我使用Anaconda Navigator创建虚拟环境,代码将正确执行,但它会在Anaconda的子目录中创建虚拟环境目录,而不是在项目的同一目录中。这让我想知道,当我用pyinstaller创建一个可执行文件时,它是否会工作

于2020年3月16日编辑

工作规范:

窗户

  • 版本:Windows10企业版
  • 版本:1803
  • 操作系统版本:17134.286

Python 3.7.6

CPU体系结构

  • Intel Core i7-8700K CPU 3.70 GHz
  • 内存32 GB
  • 64位

Tags: 项目代码fromimport版本projectenvironmentmy
1条回答
网友
1楼 · 发布于 2024-04-19 23:02:40

您需要下载sqlite3 DLL并将其添加到虚拟环境中的DLL文件夹中。对于使用pyinstaller打包sqlite3,这可能会对您有所帮助,因为我遇到了类似的issue

_sqlite3导入在运行时通过conda工作,因为它可以访问_sqlite3.pyd文件,但对于pyinstaller,它需要环境中可能缺少的DLL

相关问题 更多 >