更新
此方式已废弃,改用手动安装方式:Mac上面安装Python的db2数据库驱动(手动安装)
背景
我想用Python写个脚本程序,需要访问db2,需要引入ibm_db的db2驱动。
步骤
安装proxychains4
brew install proxychains-ng
安装完成后,在/usr/local/etc/proxychains.conf文件中,设置proxychains-ng 的socks5代理。
pip安装ibm_db
proxychains4 pip3 install ibm_db
**Note:**这里要使用proxychains4进行socks5的代理,pip才能进行正常安装,不然就会一直在安装中途卡住,具体原因你懂的。
db2驱动环境变量
vi ~/.bash_profile
添加一行:
export DYLD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/clidriver/lib
设置环境变量生效:
source ~/.bash_profile
这里设置好后,就可以避免如下错误发生:
zylMBP:~ zhangyalin$ python3
Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import ibm_db
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/ibm_db.cpython-36m-darwin.so, 2): Library not loaded: libdb2.dylib
Referenced from: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/ibm_db.cpython-36m-darwin.so
Reason: image not found
>>>
参考: ibmdb/python-ibmdb