[英]Python virtual environment `venv` cannot find `sqlite3` module
我為一個項目創建了我的虛擬環境:
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.
據我閱讀,沒有必要導入 sqlite3 。
我嘗試使用virtualenv
,如鏈接中所示,但我無法激活它。
如果我使用Anaconda Navigator創建虛擬環境,代碼會正確執行,但它會在 Anaconda 的子目錄中創建虛擬環境目錄,而不是在項目的同一目錄中。 這讓我想知道當我用pyinstaller
創建一個可執行文件時它是否會工作。
2020 年 3 月 16 日編輯
工作規格:
視窗
蟒蛇 3.7.6
CPU架構
您需要下載 sqlite3 DLL 並將其添加到虛擬環境中的 DLL 文件夾中。 對於使用 pyinstaller 與 sqlite3 進行打包,這可能會對您有所幫助,因為我遇到了類似的問題。
_sqlite3 導入在運行時通過 conda 工作,因為它可以訪問 _sqlite3.pyd 文件,但對於 pyinstaller,它需要您的環境中可能缺少的 DLL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.