8
12

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 5 years have passed since last update.

Python3でコンパイルが必要なパッケージをpipでインストール[Windows]

Last updated at Posted at 2017-07-27

例えばpycryptoというパッケージはWindowsで使用する場合、コンパイルが必要ですので普通にpip install pycryptoと入力してもエラーが返ってきます。
そこで、Visual Studio Build Toolを使ってコンパイルをした上でインストール作業を行います。
Visual Studio Build Toolのインストールにある程度容量が必要ですが、作業自体は非常に簡単です。

  • Windows 10
  • Anaconda インストール済み

仮想環境を構築

試しに動作させるだけなので、仮想環境を一時的に作成して使用します。
コマンドプロンプトで管理者として実行します。

# 仮想環境を構築
# conda create -n 仮想環境の名前 python=3.5.3
conda create -n wxenv python=3.5.3
# Anacondaのセットで作成する場合
# conda create -n wxenv python=3.5.3 anaconda
# 作った環境を確認するときは
# conda info -e
# conda list -n wxenv
# 作った仮想環境を削除する時は
# conda remove -n wxenv --all

コンパイラのインストール

参考
https://stackoverflow.com/questions/41724445/python-pip-on-windows-command-cl-exe-failed

下記URLからVisual C++ 2015 Build Toolsをダウンロードし、
インストーラのオプションで「カスタム」を選択、
windows 10 sdkのみをチェックしてインストール

http://landinghub.visualstudio.com/visual-cpp-build-tools

スクリーンショット 2017-07-27 12.28.22.png スクリーンショット 2017-07-27 12.32.39.png スクリーンショット 2017-07-27 12.33.09.png

インストールが完了後、追加された
Visual C++ 2015 x86 x64 Cross Build Tools Command Prompt
を「管理者として実行」で起動する。
※注意:同じような名前で
Visual C++ 2015 x64 x86 Cross Build Tools Command Prompt
があります。うまく通らない時はこちらで実行してみてください。

ちなみにこのツール群は、
C:\Program Files (x86)\Microsoft Visual C++ Build Tools
のディレクトリにあるはずです。

# Visual C++ 2015 x86 x64 Cross Build Tools Command Prompt
# で実行

# 仮想環境へ移行
# activate 仮想環境の名前
activate wxenv
# パッケージのインストール
# pip install パッケージ名
pip install pycrypto
スクリーンショット 2017-07-27 17.14.19.png
8
12
1

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
8
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?