python gdbm_GDBM不适用于Python 3.6和anaconda
我也遇到過這個問題.這可能不是理想的方式,但它有效.
我做了以下事情來解決這個問題 –
sudo apt-get install python3-gdbm
這為python3安裝了gdbm庫,但是因為apt-get和anaconda是兩個獨立的包管理器;這不會解決你的問題.我們主要這樣做是為了獲取.so共享庫,我們將把它放在我們的anaconda安裝中的正確文件夾中.接下來我們使用 – 找到.so文件的位置 –
dpkg -L python3-gdbm
這給了我們以下輸出 –
/.
/usr
/usr/lib
/usr/lib/python3.5
/usr/lib/python3.5/lib-dynload
/usr/lib/python3.5/lib-dynload/_gdbm.cpython-35m-x86_64-linux-gnu.so
/usr/share
/usr/share/doc
/usr/share/doc/python3-gdbm
/usr/share/doc/python3-gdbm/copyright
/usr/share/doc/python3-gdbm/changelog.Debian.gz
/usr/share/doc/python3-gdbm/README.Debian
我們需要的文件在這里 –
/usr/lib/python3.5/lib-dynload/_gdbm.cpython-35m-x86_64-linux-gnu.so
將此文件復制到anaconda安裝的lib-dynload文件夾中;對我來說這是 –
cp /usr/lib/python3.5/lib-dynload/_gdbm.cpython-35m-x86_64-linux-gnu.so /home/username/anaconda3/lib/python3.5/lib-dynload
請注意,這僅在復制.so的目錄位于python的sys.path中時才有效.要找到要復制到的正確目錄,假設您在激活的conda環境中,請運行:
python -c 'import sys; [print(x) for x in sys.path if "lib-dynload" in x]'
例如,在我的情況下,目錄位于環境路徑內,而不是在anaconda主庫中. ?/ anaconda3 / ENVS / myenvname / LIB / python3.7 / LIB-dynload
現在嘗試在python中導入模塊 –
from _gdbm import *
或者從命令行測試它:
python -m dbm.gnu
這應該可以解決您的問題.
請注意,我的是一個Ubuntu-16.06操作系統,我的python版本是3.5.2..so文件也可以與python3.6一起使用,如果沒有你可以嘗試安裝python3.6-gdbm,雖然快速搜索ubuntu 16.04并沒有給我任何結果.
總結
以上是生活随笔為你收集整理的python gdbm_GDBM不适用于Python 3.6和anaconda的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: python从0开始学编程课件_小白从零
 - 下一篇: 小程序 a标签_微信内循环生态:朋友圈标