在 macOS 上使用 dbm.gnu for Python 3.6.3
Using dbm.gnu for Python 3.6.3 on macOS
我正在尝试打开类型为 db.gnu
的 .db
文件。尝试使用内置 Python 3 模块 dbm
打开它失败并显示消息:
dbm.error: db type is dbm.gnu, but the module is not available
我知道我必须使用 dbm
中的 gnu
子模块才能打开它。但是,我无法在 macOS 上的 Python 3.6.3 中这样做:
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'
如何在 Mac 上使用 dbm.gnu
?
我会尝试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'>
我已经在 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
在此之后它按预期工作。
我正在尝试打开类型为 db.gnu
的 .db
文件。尝试使用内置 Python 3 模块 dbm
打开它失败并显示消息:
dbm.error: db type is dbm.gnu, but the module is not available
我知道我必须使用 dbm
中的 gnu
子模块才能打开它。但是,我无法在 macOS 上的 Python 3.6.3 中这样做:
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'
如何在 Mac 上使用 dbm.gnu
?
我会尝试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'>
我已经在 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
在此之后它按预期工作。