簡體   English   中英

Python虛擬環境`venv`找不到`sqlite3`模塊

[英]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 日編輯

工作規格:

視窗

  • 版本:Windows 10 企業版
  • 版本:1803
  • 操作系統版本:17134.286

蟒蛇 3.7.6

CPU架構

  • 英特爾酷睿 i7-8700K CPU 3.70 GHz
  • 內存 32 GB
  • 64位

您需要下載 sqlite3 DLL 並將其添加到虛擬環境中的 DLL 文件夾中。 對於使用 pyinstaller 與 sqlite3 進行打包,這可能會對您有所幫助,因為我遇到了類似的問題

_sqlite3 導入在運行時通過 conda 工作,因為它可以訪問 _sqlite3.pyd 文件,但對於 pyinstaller,它需要您的環境中可能缺少的 DLL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM