6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

個人用メモ: AnacondaでCythonを使うための設定

Last updated at Posted at 2020-05-07

目的

  • 自宅PCのAnacondaを再インストールしたらCythonの設定にてこずった
  • 別のPCで設定するときの備忘録として作業手順を整理

環境

  • CPU: Intel系
  • OS: Windows 10 version 1909 64bit
  • Anaconda: 3 (Individual Edition)
  • Python: 3.71
  • Cython: 0.29.17

作業手順

1. Anaconda

1-1. 本体のインストール

  1. 本家サイトからインストーラをダウンロード
  2. デフォルト設定でインストール

1-2. 初期設定

  • base環境の設定(Anaconda Promptから2
conda config --remove channels conda-forge
conda upgrade --all
conda clean --packages

1-3. パッケージのインストール

  • 仮想環境の作成
conda info -e
conda create -n [仮想環境名] anaconda
activate [仮想環境名]
conda list
conda install [パッケージ名]==[バージョン]
分類 パッケージ
最初から入っているもの numpy, scipy, sympy, pandas, matplotlib, seaborn, jupyter, jupyter_console, jupyterlab, cython, numba, xlwings, scikit-learn, scikit-image, statsmodels, pytest, yaml, h5py, requests など
入っていないもの opencv, tensorflow2, mayavi, pcl, pymc3, scikit-rf, fortranコンパイラ など
  • 仮想環境情報の書き出し
conda env export -n [仮想環境名] > [ファイル名].yaml
  • 動作確認: [Anaconda3] から [Jupyter Notebook (仮想環境名)] を起動してみる。

2. Cython用の設定

2-1. Cコンパイラの選択

コンパイラの選択は、CythonのGithubサイトの解説にしたがった。
本当はAnacondaで完結させるためにmingwを使いたいのだが、Githubサイトに使わないように注意書きがあったので今回は断念3。また、Windows SDK C/C++ compiler は Python3.7 の情報がなかったので、これも敬遠。
ということで、今回は Microsoft Visual C++ をバージョンを合わせてインストールする方法を選択4。その場合の手順は以下の通り。

2-2. Pythonをコンパイルした Visual C++ のバージョンを調べる

  • Anaconda Prompt で Pythonを起動する
(base) c:\Users\foo>python
  • Pythonの詳細情報を表示する
>>> import sys
>>> sys.version
→ 3.7.7 (...略...) [MSC v.1916 64 bit (AMD64)]'

2-3. Cコンパイラのインストール

  • Microsoftのサイト に行って、該当するバージョンの「Build Tools for Visual Studio 2017」をダウンロードしてくる。言語を「Japanese」としてから「Download」ボタンを押す6。ちなみに、Python Japanサイトの説明とは若干画面が変わっていた。

  • ダウンロードしたexeファイルを実行すると、Visual Studio Installerがインストールされる。ここで改めてインストールするオプションを選ぶ。インストールするのは「Build Tools for Visual Studio 2017」。「Visual C++ Build Tools」にチェックボックスを入れてからインストールする7。Visual Studio Community 2017 も無料でインストールできるが、Cythonを動かす目的のためには不必要。Microsoftのダウンロードサイトにも、Cythonで使うのは「Build Tools for Visual Studio 2017」であることを示唆する表示がある。

  • Cythonが参照するファイル「vcvarsall.bat」が以下の場所にできていることを確認

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build

3. Cythonの動作確認

3-1. テストスクリプトの実行

  • Jupyter Notebook を起動
  • 以下のコードを入力して実行してみる
Cell1
%load_ext Cython
Cell2
%%cython
def cy_fib(n):
    a, b = 0.0, 1.0
    for i in range(n):
        a, b = a + b, a
    return a
Cell3
%timeit cy_fib(100)

3-2. それでもうまくいかない場合の情報源

  1. TensorFlow 1.0 は Python3.7 で動くようになった模様。TensorFlow2.0 は未確認。

  2. 必要なら管理者アカウントで実行(右クリック)

  3. Oreillyの本ではmingwでも行けるとのことだったが、Githubのほうにしたがった。ただし流し読み。

  4. CPython は Visual C++ の長期サポート版でコンパイルされているので、Visual C++ を使えば問題ないとのこと。

  5. 文中の例で言うと、「MSC v.1916」は「Visual Studio 2017 version 15.9.11 14.16」に相当。

  6. Microdoftアカウントが必要になるのでなければ作る。

  7. 実際にはチェックボックスを入れ忘れたので、インストールした後で「変更」した

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?