【问题标题】:Error while Installing sqlite using pip on Python 2.7.13在 Python 2.7.13 上使用 pip 安装 sqlite 时出错
【发布时间】:2017-09-18 21:53:46
【问题描述】:

我正在尝试使用 pip 安装 pysqlite,但它一直给我一个错误:

无法打开包含文件:'sqlite3.h':没有这样的文件或目录

我使用的是 64 位 Windows 10 操作系统。 Python 版本 2.7.13。我正在尝试使用 pip 安装。 (pip install pysqlite)

我无法分享错误截图,所以我复制了下面的完整错误代码。如果有人可以帮助我,那就太好了。 谢谢。

完整的 cmd 如下所示:

C:\Users\Who Are You>pip install pysqlite
Collecting pysqlite
  Using cached pysqlite-2.8.3.tar.gz
Installing collected packages: pysqlite
  Running setup.py install for pysqlite ... error
    Complete output from command c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\whoare~1\\appdata\\local\\temp\\pip-build-0ju9tj\\pysqlite\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record c:\users\whoare~1\appdata\local\temp\pip-0cieyz-record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-2.7
    creating build\lib.win32-2.7\pysqlite2
    copying lib\dbapi2.py -> build\lib.win32-2.7\pysqlite2
    copying lib\dump.py -> build\lib.win32-2.7\pysqlite2
    copying lib\__init__.py -> build\lib.win32-2.7\pysqlite2
    creating build\lib.win32-2.7\pysqlite2\test
    copying lib\test\dbapi.py -> build\lib.win32-2.7\pysqlite2\test
    copying lib\test\dump.py -> build\lib.win32-2.7\pysqlite2\test
    copying lib\test\factory.py -> build\lib.win32-2.7\pysqlite2\test
    copying lib\test\hooks.py -> build\lib.win32-2.7\pysqlite2\test
    copying lib\test\regression.py -> build\lib.win32-2.7\pysqlite2\test
    copying lib\test\transactions.py -> build\lib.win32-2.7\pysqlite2\test
    copying lib\test\types.py -> build\lib.win32-2.7\pysqlite2\test
    copying lib\test\userfunctions.py -> build\lib.win32-2.7\pysqlite2\test
    copying lib\test\__init__.py -> build\lib.win32-2.7\pysqlite2\test
    running build_ext
    building 'pysqlite2._sqlite' extension
    creating build\temp.win32-2.7
    creating build\temp.win32-2.7\Release
    creating build\temp.win32-2.7\Release\src
    C:\Users\Who Are You\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DMODULE_NAME=\"pysqlite2.dbapi2\" -I'{' -Iis -Inot -Irecognized -Ias -Ian -Iinternal -Ior -Iexternal -Icommand, -Ioperable -Iprogram -Ior -Ibatch -Ifile. -Ic:\python27\include -Ic:\python27\PC /Tcsrc/module.c /Fobuild\temp.win32-2.7\Release\src/module.obj
    module.c
    c:\users\who are you\appdata\local\temp\pip-build-0ju9tj\pysqlite\src\connection.h(33) : fatal error C1083: Cannot open include file: 'sqlite3.h': No such file or directory
    error: command 'C:\\Users\\Who Are You\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit status 2
    ----------------------------------------
Command "c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\whoare~1\\appdata\\local\\temp\\pip-build-0ju9tj\\pysqlite\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record c:\users\whoare~1\appdata\local\temp\pip-0cieyz-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in c:\users\whoare~1\appdata\local\temp\pip-build-0ju9tj\pysqlite\

截图是here

【问题讨论】:

  • 截图在哪里?
  • 我包含了它,但 Stackoverflow 不允许我发布它,因为我是新手,而且我在这里没有足够的声望点。顺便说一句,如果你愿意,我可以分享完整的错误行。
  • 谢谢,现在可以了

标签: python-2.7 sqlite pysqlite


【解决方案1】:

我遇到了同样的问题并设法通过这种方式解决:

  1. 创建一个临时目录C:\sqlite
  2. 将文件 lib.exe、link.exe 和 mspdb80.dll 复制到 C:\sqlite从:
    • 对于 X86 构建:%LocalAppData%\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\bin
    • 对于 X64 构建:%LocalAppData%\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\bin\amd64
  3. 从SQLite website 下载适用于 Windows 的合并源代码和预编译二进制文件(32 位或 64 位 DLL 文件)存档
  4. 将二进制文件存档(sqlite3.dll 和 sqlite3.def)解压到 C:\sqlite
  5. 在 C:\sqlite 中打开 Windows PowerShell 并运行:
    • 对于 X86 版本:.\lib.exe /DEF:sqlite3.def /MACHINE:X86
    • 对于 X64 版本:.\lib.exe /DEF:sqlite3.def /MACHINE:X64
  6. 将创建的sqlite3.lib文件复制到C:\Python27\libs
  7. 从合并的源代码存档中提取 sqlite3.h 和 sqlite3ext.h 到 C:\Python27\include
  8. 运行pip install pysqlite

【讨论】:

  • 没用,Win10 x64,python 2.7.18。还是同样的错误:fatal error C1083: Cannot open include file: 'sqlite3.h': No such file or directory。奇怪的是,我可以import sqlite3 就好了。我该怎么办?
【解决方案2】:

据我所知,sqlite3 是内置在 python2.x 和 python3.x 中的

【讨论】:

  • 问题与安装sqlite3无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-08
  • 1970-01-01
  • 1970-01-01
  • 2018-12-03
  • 2017-07-21
  • 1970-01-01
相关资源
最近更新 更多