()

Qiita Articles

公開記事のミラー・バックアップ

計算化学・分子構造

RDKitを使うためにWindowsにAnaconda3を導入したときのメモ

Qiita公開: · 元記事更新:
バックアップ取得:

筆者自身のQiita記事を転載しています。内容は取得時点の記録です。Qiitaの元記事 · 原文Markdownを保存

この記事の目次

やったこと

① Anaconda3をwindowsにインストール
② Anaconda3上でPython3.7系の仮想環境を構築
③ 仮想環境でRDKitをインストール

環境: windows 10(ノートPC)

① Anaconda3をwindowsにインストール

Anaconda3を導入するメリット :

RDKitを動かすのに必要な諸々のパッケージがまとまっていて、個々のパッケージを導入するよりも労力が小さくて済む。

…というわけで公式サイトからwindows用の.exeファイルをダウンロードし、以下の点に注意して実行します。

  1. Add Anaconda to the system PATH environment variable は推奨されていないようなので、チェックを外してインストールする(既存のPythonとの競合を防止)
  2. パス名は日本語を含まないように注意

その他のインストールの詳細については解説記事が無数にあるので、どれかを参考にして入れて下さい。
基本的には [Next] 連打でOKです。

※インストールには結構時間が掛かりました。(1時間弱くらい?)
※パスを通さないとそのままでは動かないので注意。私の場合、システム環境変数の "Path" に以下のパスを追加しました。

anaconda3を置く場所はインストール時に指定可能

C:\Users(user名)\anaconda3
C:\Users(user名)\anaconda3\Scripts
C:\Users(user名)\anaconda3\Library\bin
C:\Users(user名)\anaconda3\Library\mingw-w64\bin


Anacondaが正しく導入されているかどうかは `conda --version` などで確かめられます。


# ② Anaconda3上でPython3.7系の仮想環境を構築
しかしこのままではRDKitは使えません。なぜなら、`conda` で導入できるRDKitはPython3.8系には対応していないからです😅。
(参考:[**RDKit をインストールできなかったり import できなかったりしたときの対処法まとめ (Anaconda ユーザー向け)**]
(https://datachemeng.com/rdkit_install_import))

そこで、Python3.7系の仮想環境を構築することにします😤。

`conda create --name myenv python=3.7` をコマンドプロンプトで実行して仮想環境(Python 3.7.10)を新規作成。
(参考:[**Anaconda3 コマンドまとめ**](https://qiita.com/WestRiver/items/cce9c99076d59abd3f69))

```:Python3.7系の仮想環境を構築
C:\Users\(user名)> conda create --name myenv python=3.7

※仮想環境の名前は何でもよい(今後さらに仮想環境が増えるなら「py37」とかの方が分かりやすいかも?)。
※私のPCでは仮想環境の構築に10分以上要しました。
※ conda activate myenv を実行しても CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. と出てエラーになる場合はコマンドプロンプトを再起動する。
(C:\Users\(user名)\anaconda3\etc\profile.d にあるシェルスクリプトは特に変更していません)

conda activate myenv で仮想環境「myenv」を起動すると入力待ちが以下のように変わります。

(myenv) C:\Users\(user名)>

conda deactivate で仮想環境を終了できます。

③ 仮想環境でRDKitをインストール

以下のコマンドをコマンドプロンプトで実行して仮想環境でRDKitをインストール。

RDKitをインストール
conda install -y -c rdkit rdkit

※RDKitのインストールには30分ほど要しました。

Pythonを対話型で起動して import rdkit がエラーにならなければ導入できています。お疲れ様でした。

おまけ

もう少し遊びたい人は、以下の3行を入力してみて下さい。トルエン骨格のxyz座標がMolBlock​形式で出力されます。

実行例
>>> from rdkit import Chem
>>> m = Chem.MolFromSmiles('Cc1ccccc1')
>>> print(Chem.MolToMolBlock(m))

     RDKit          2D

  7  7  0  0  0  0  0  0  0  0999 V2000
    3.0000    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    1.5000    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    0.7500   -1.2990    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -0.7500   -1.2990    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -1.5000    0.0000    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   -0.7500    1.2990    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    0.7500    1.2990    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0
  2  3  2  0
  3  4  1  0
  4  5  2  0
  5  6  1  0
  6  7  2  0
  7  2  1  0
M  END

>>> 

仮想環境で.pyファイルを実行すればRDKitを使うスクリプトが実行できます。