在macOS上使用dbm.gnu for Python 3.6.3

时间:2018-02-08 02:44:06

标签: python-3.x gnu dbm

我正在尝试打开类型为.db的{​​{1}}文件。尝试使用内置的Python 3模块db.gnu打开它失败,并显示消息:

dbm

我知道我必须使用dbm.error: db type is dbm.gnu, but the module is not available 中的gnu子模块来打开它。但是,我无法在macOS上的Python 3.6.3中这样做:

dbm

如何在Mac上使用In [1]: import dbm In [2]: dbm.gnu --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-2-ddbd370a1085> in <module>() ----> 1 dbm.gnu AttributeError: module 'dbm' has no attribute 'gnu'

2 个答案:

答案 0 :(得分:3)

我会尝试brew install gdbm

之后我尝试了:

Python 3.6.4 (default, Jan  6 2018, 11:51:59)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import dbm.gnu
>>> print(dbm.gnu)
<module 'dbm.gnu' from '/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/dbm/gnu.py'>
>>> import dbm
>>> dbm.gnu
<module 'dbm.gnu' from '/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/dbm/gnu.py'>

答案 1 :(得分:2)

我已经在pyenv中安装了3.6.4,所以我必须执行以下操作:

brew install gdbm

之后,我需要重新安装3.6.4。

pyenv uninstall 3.6.4
pyenv install 3.6.4
pyenv global 3.6.4

在此之后它按预期工作。