我正在使用 Python 3.4 运行 Windows 7 x64。当我跑步时,pip install bsddb3
我得到:
λ pip install bsddb3
Collecting bsddb3
Using cached bsddb3-6.1.1.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 20, in <module>
File "C:\Users\User\AppData\Local\Temp\pip-build-soqf0_qb\bsddb3\setup.py", line 42, in <module>
import setup3
File "C:\Users\User\AppData\Local\Temp\pip-build-soqf0_qb\bsddb3\setup3.py", line 375, in <module>
with open(os.path.join(incdir, 'db.h'), 'r') as f :
FileNotFoundError: [Errno 2] No such file or directory: 'db/include\\db.h'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\User\AppData\Local\Temp\pip-build-soqf0_qb\bsddb3
所以我尝试下载 bsddb3 的源代码。我确保安装了 Oracle 的 BSD DB Windows 二进制文件;我从Berkeley DB 6.1.26.msi下载了它们。将include
和lib
目录从 DB 安装移动到 bsddb3 文件夹中的 /db 目录解决了无法找到库的问题。但是随后设置在 posix 部分中缺少但在 Windows 部分中未正确声明的变量上失败。
修复了这个问题,并进行了一些其他调整,并python setup.py build
实际运行了构建,但在一堆关于不安全转换的警告之后,它失败并出现错误:
warning: I don't know what to do with 'runtime_library_dirs': ['db/lib']
error: don't know how to set runtime library search path for MSVC++
我不确定下一步该怎么做。除了重写我最初尝试使用的库,以便它使用 SQLAlchemy 或其他东西。