網頁

2019年3月30日 星期六

rdkit install for MacOSX

MacOSX在安裝rdkit有兩種方式,一種是利用conda安裝rdkit環境,但是要啟動rdkit環境。另一種是透過Homebrew安裝,可以直接用python編譯,缺點是2017舊版本。以下會介紹這兩種方式要如何安裝。


1.Conda安裝

$ conda create -c rdkit -n my-rdkit-env rdkit

到anaconda資料夾裡的bin資料夾開啟rdkit環境
$ cd /anaconda3/bin
$ source activate my-rdkit-env

執行"which python3",確認python是否變成rdkit的環境路徑


$ conda install -c conda-forge rdkit

$ conda deactivate

2.Homebrew安裝

$ brew tap rdkit/rdkit

$ brew install rdkit --with-python3 --without-numpy

但是會發生"Configuring Incomplete"


原因是在/usr/local/lib/路徑裡,boost的libboost_python37.a和libboost_python37.dylib沒辦法被python3使用,建議重新安裝boost-python3

$ brew install boost-python3

並且alias
$ ln -s /usr/local/lib/libboost_python37.a /usr/local/lib/libboost_python3.a
$ ln -s /usr/local/lib/libboost_python37.dylib /usr/local/lib/libboost_python3.dylib

再重新執行一次
$ brew install rdkit --with-python3 --without-numpy
(如果沒加--without-numpy會啟動python2)


參考
https://github.com/rdkit/homebrew-rdkit/issues/62
https://github.com/openai/roboschool/issues/118

$ vi ~/.bashrc
$ export RDBASE=/usr/local/share/RDKit
$ source ~/.bashrc

如果執行"which python3"顯示路徑是"/anaconda3/bin/python3",必須改變環境變數
$ vi ~/.bash_profile

輸入export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH
$ source ~/.bash_profile

再重新執行一次"which python3"則顯示路徑是"/usr/local/bin/python3"


如果執行python3有出現ImportError: bad magic number in 'rdkit': b'\x03\xf3\r\n'
$ ls -a

會有一個xxx.pyc檔,把它刪除即可
$ rm xxx.pyc

主要是因為py檔裡面有"import rdkit",所以py檔不可以直接叫rdkit.py,否則會產生一個rdkit.pyc,並產生ImportError訊息。


參考
http://www.rdkit.org/docs/Install.html

很久沒用如果有模組import正確但無法使用的話是因為rdkit版本更新
$ brew upgrade rdkit

沒有留言:

張貼留言