LoginSignup
5
3

More than 5 years have passed since last update.

右も左もわからない初心者のPythonの【環境設定】まとめ

Last updated at Posted at 2018-05-12

はじめに

プログラミングのまったくの初心者が覚書として
そしてまたほかの初心者の方のお役に立てればと思い投稿させていただきました

環境構築とは

環境構築とはすなわちお仕事をするときに作業スペースを整えること
新しいプロジェクトに必要な機材を導入したり、前回使っていた道具や書類は作業台から片付けて、今回の仕事に必要なものを持ってくる、そんなイメージ
とりあえずよくわからない人ははじめのうちはコピペで十分だと思います。(正直自分もよくわかってない)

前提

  • macOS High Sierra 10.13.4
  • Python 3.6.5

下記のMacOS用パッケージ管理システムは四の五の言わずインストール

  • pip
  • Homebrew

pipはデフォルトで入ってるかと思います
インストールされていれば$ pip --versionでバージョン確認ができる

Homebrewはコチラにアクセスをして
サイト上に書かれているコード/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"をターミナルに打ち込みインストール
$ brew --versionでバージョンを確認できればインストール成功

これで下準備はOK

仮想環境を設定

仮想環境とは作業部屋のこと
Python2で仕事がしたいときは「A」のお部屋
Python3とDjangoを使用したいときは「B」のお部屋、というように仮想環境をその都度設定してあげれば部屋移動することによって環境が切り替わって便利
仮想環境を作成するのに使用するツールは

  • pyenv
  • virtualenv
  • pyenv-virtualenv

だいたいみんなこれ使ってるみたい

pyenv

PC内で異なるバージョンのPythonを管理するための「バージョン管理ツール」
Python2,Python3といった大枠だけでなく2.42.4.13.2といった細かいバージョンを指定できる

pyenvインストール
$ brew install pyenv

pyenvのバージョン確認

$ pyenv --version 
pyenv 1.2.4

これをターミナルログイン時に起動させる設定
ホームディレクトリにある隠しファイル(ドットファイル)の.bash_profileに下記を書き込みます

.bash_profile
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

このあと.bash_profileファイルを抜けて$ source ~/.bash_profileとコマンドすることにより内容が反映される
このPATH設定には.bash_profile.bashrcなどいろいろと種類があるみたいでややこしいので
今はこれをやっておけば自動的に起動しますよ、っていう認識で次いきます

pyenvで使用するPythonバージョンのインストール
$ pyenv install -l # インストール可能なバージョンを確認
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4 etc.

# 目的のバージョンをインストール
$ pyenv install 2.1.3
$ pyenv install 3.6.5

$ pyenv rehash # 新規インストールした後はこのコマンドを実行する必要があるそうです

# インストールされたバージョンを表示
$ pyenv versions 
* system (set by /Users/shoshinsya/.pyenv/version) # 現在の位置に*がついている
  2.1.3
  3.6.5
バージョンの切り替え
$ pyenv global 3.3.5
$ python -V
Python 3.3.5

# 特定のディレクトリ内のみ切り替えたい場合
$ mkdir xxx
$ cd xxx # 目的のディレクトリに移動
$ pyenv local 2.1.3
$ python -V
Python 2.1.3

$ cd
$ pyenv -V
Python 3.3.5 # ディレクトリを抜けると globalに戻る

# local設定を解除
$ pwd
/Users/pythonbeginner/xxx
$ pyenv local --unset
$ pyenv -V
Python 3.3.5 # global設定が適応される
バージョンの削除
$ pyenv uninstall 2.1.3
pyenv: remove /Users/shoshinsya/.pyenv/versions/2.1.3? 
# ここで y(yes) と入力してエンターキー

$ pyenv versions #削除されているかを確認
  system
* 3.6.5 (set by /Users/shoshinsya/.pyenv/version) #2.1.3の表示がない

他にもコマンドがあるみたいだけど、これくらいで大丈夫だと思う

virtualenv

Python環境を管理するための「仮想環境管理ツール」
上記の pyenv とちがう点は、同一バージョンの中でも異なる環境を設定できるところ
(なのでこれだけでも十分なのでpyenvは必要なし?)

virtualenvインストール
$ pip install virtualenv
$ virtualenv --version # virtualenvのバージョン確認
15.2.0
仮想環境の作成
$ mkdir xxx  
$ cd xxx # 目的のディレクトリに移動

$ virtualenv yyy # 仮想環境作成
$ ls
yyy/

# 仮想環境"yyy"を有効化(activate)
$ source xxx/bin/activate
(yyy) $                 # 文頭にactivate されている仮想環境名が表示される
(yyy) $ pip list        # 現在インストール済みパッケージを一覧表示する

Package    Version
---------- -------  
pip        10.0.1 
setuptools 39.1.0
wheel      0.31.0     

# 新たなパッケージインストール
(yyy) $ pip install django==1.10.3
(yyy) $ pip list

Package    Version
---------- ------- 
Django     1.10.3
pip        10.0.1
setuptools 39.1.0
wheel      0.31.0

# 仮想環境を無効化(deactivate)
(yyy) $ deactivate
$ pip list

Package    Version
---------- -------
pip        10.0.1
setuptools 39.1.0
wheel      0.31.0 # 元の環境に戻る

pyenv-virtualenv

こちらは上記二つの合体版のような感じ?
ちなみにvirtualenvとpyenv-virtualenvは別物

pyenv-virtualenvのインストール
$ brew install pyenv-virtualenv
$ pyenv-virtualenv --version # pyenv-virtualenvのバージョン確認
1.1.1

今回は.bash_profileに下記を書き込みます

.bash_profile
eval "$(pyenv virtualenv-init -)"

忘れずに$ source ~/.bash_profile

仮想環境の作成
$ pyenv versions # 現在インストールされているPythonバージョン
* system (set by /Users/shoshinsya/.pyenv/version)
  2.1.3
  3.6.5

# 仮想環境作成
$ pyenv virtualenv 3.6.5 aaa # 3.6.5のバージョンで"aaa_django"という名前の環境を作成
$ pyenv virtualenv 2.1.3 bbb # 2.1.3のバージョンで"bbb_flask"という名前の環境を作成

# 仮想環境を表示
$ pyenv virtualenvs
  aaa_django (created from /Users/shoshinsya/.pyenv/versions/3.6.5)
  bbb_flask (created from /Users/shoshinsya/.pyenv/versions/2.1.3)

$ pyenv versions # こちらでも確認できる
* system (set by /Users/shoshinsya/.pyenv/version)
  2.1.3
  3.6.5
  aaa_django
  bbb_flask
環境の切り替え
# pyenvと同様に切り替ればOK
$ pyenv global aaa_django
(aaa_djangi) $               # 文頭に環境名
(aaa_django) $ pip install django
(aaa_django) $ pip list      # この環境でインストールされているパッケージを一覧表示する

Package    Version
---------- -------  
Django     1.10.3
pip        10.0.1
setuptools 39.1.0
wheel      0.31.0

# 特定のディレクトリ内のみ切り替えたい場合も同様
(aaa_django) $ mkdir xxx
(aaa_django) $ cd xxx
(aaa_django) $ pyenv local bbb_flask
(bbb_flask) $ pip list
$ pyenv local bbb_flask
(bbb_flask) $
(bbb_flask) $ pip install flask
(bbb_flask) $ pip list

Package    Version
---------- -------  
Flask      1.0.2             # aaa_django環境ではないのでdjangoは入っていない
pip        10.0.1
setuptools 39.1.0
wheel      0.31.0

# local解除も同様に $ pyenv local --unset 
バージョンの削除
# これもpyenvと同様
$ pyenv uninstall aaa_django
pyenv: remove /Users/shoshinsya/.pyenv/versions/aaa_django? 
# ここで y(yes) と入力してエンターキー

$ pyenv versions #削除されているかを確認
* system (set by /Users/shoshinsya/.pyenv/version)
  2.1.3
  3.6.5
  bbb_flask

少々長めになってしまいました...

これらのツールを使えば新しいアプリケーションを製作したいときに、前と同じ環境下で作業したい場合やちがう環境で新しいパッケージを導入したい場合など、その都度目的にあった仮想環境を整えることができるようになります!
今回は以上です

(認識がまちがっている部分もあると思うのでそのときはどんどんツッコミお願いします)

参考

5
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
5
3