Python

Python初心者がPythonの環境構築をまとめたメモ(2017年)

投稿日:

最近、仕事でPythonを書いているのですがWindows環境でPython環境を構築するにあたり色々調べて最終的にAnacondaに落ち着きました。
Python力がなくて途中何をやっているのかよくわからなくなりましたが調べてわかったことなどを少しまとめたいと思います。

pyenv

Pythonのバージョンを複数インストールして環境の管理ができる。
例えば、2.7.5と3.6.0をインストールしてどちらを使うか切り替えることができる。
一時的に2.7.5を使うこともできるし、永続的にバージョンを切り替えることができる。
ただ、特定のバージョンを複数インストールすることはできなさそうだった。
例えばAとBというアプリケーションがあり、それぞれ2.7.5を使っているがパッケージは全く別のものを使用しているから別々にpipで管理したい。ということはできなさそう。
pyenvインストール時にPythonのソースコードをダウンロードしてビルドしているみたいなのでWindowsで使えるかは不明。

virtualenv

Pythonの実行環境を指定して独立した環境が作れる。
pyenvで記載したAとBのアプリケーションの問題も解決できる。
ただpyenvのようにPythonのバージョンを管理することはできない。
あくまでPythonの実行環境を指定して環境を複数作ることができる。
アプリケーションによって使うパッケージが違うので別々に管理したいが、システムでインストールされているPythonを使うという場合はvirtualenvで事足りると思われる。

pyenv + virtualenv

pyenvとvirtualenvは独立しているが組み合わせることができる。
複数のPythonのバージョンを作りながら、それぞれの実行環境を作ることができる。
設定はpyenvとvirtualenvで環境構築がわかりやすい。

Anaconda

Python本体やよく使われるパッケージなどをインストールして管理することができる。
内部的にはどうなっているかわからないが使ってみた感じだとpyenv + virtualenvと同様なことができる。
しかもWindowsの場合でもAnacondaをインストールすることでバージョンが異なるPythonの導入などが簡単に行える。
インストールしてしまえば何も考えずに使うことができる。
またインストール時にPythonのバージョンを2.7と3.6から選択できるが基本的には3.6で問題ないと思われる。
またcondaコマンドで環境を作るときにpipやeasy_installなどが自動的にインストールされる。

現在のPythonのバージョンを表示

python -V

Python 3.6.1 :: Anaconda custom (64-bit)

環境の一覧を表示

conda info -e

root                  *  C:\Users\your name\Anaconda3

アプリケーションの環境をPython2.7.5で作る

conda create --name app python=2.7.5

# appが追加された
conda info -e
app                      C:\Users\your name\Anaconda3\envs\app
root                  *  C:\Users\your name\Anaconda3

実行環境をappに切り替える

activate app

# pythonのバージョンが切り替わった
python -V
Python 2.7.5 :: Continuum Analytics, Inc.

まとめ

Anacondaはパッケージ管理ツールではないみたいなので、アプリケーションごとにPythonのバージョンと使うパッケージを管理したいという場合はpyenv + virtualenvを使うべきだと思います。
ですが、慣れてないうちは環境構築するだけで時間がかかってしまいますので、まずはAnacondaをインストールして使って見ると良いのではないかと思いました。

-Python

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Pythonのテストを視覚的なテストレポートで出力する

Pythonでテストを書いて実行するときはnoseのnosetestsを使っています。 JavaだとGradleでテストを実行するとテストレポートは作ってくれるのですがnosetestsでどのようにレ …

Vagrantのshared_folderでマウント時にnosetestsでテストが読み込まれない

Pythonでテストを実行する時noseのnosetestsを使っているのですがVagrantのshared_folderでマウントしてるディレクトリでnosetestsと実行してもテストクラスとして …

Google App Engineのdev_appserver.pyをWindowsで動かす

Google App Engine(GAE)はStandard environmentとFlexible environmentの2あるんですけど、無料枠が適用されるのはStandard enviro …

ad-sidebar




カテゴリー