某大学生のらくがきのーと

大学三回生です。調べた事をまとめたり、日記も書くかもしれません。

python導入&scrapy環境構築

pythonの導入,scrapyを使用するための環境構築などをまとめます.

まず,このサイトを参考にpythonを入れました.
qiita.com

最初に,Pythonのバージョン管理や,仮想環境を構築できるpyenvを入れました.
仮想環境を使えると,この環境では◯◯のパッケージが使えて,こっちでは△△が使えて,みたいな住み分けができて便利みたいです.システムに直接ダウンロードしちゃうと干渉が起きたりした時に対処が大変なんですかね.

このサイトにも,scrapyを使う場合,仮想環境を使うことが推奨されていました.
インストールガイド — Scrapy 1.2.2 ドキュメント
後ほど詳述しますが,このサイトではvirtualenvを用いていますが,私はpyenv-virtualenvを使用しました.(名前がややこしいですがこの二つは別物みたいです)


それでは,実際にやった手順を追っていきたいと思います.
まず,pyenvをインストール.

$ brew install pyenv

私の環境ではzshを使っているので,
.zshrcに下記を追加.

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

追記したのちにリフレッシュ

$ source .zshrc

インストール可能なpythonの一覧をコマンドで確認.

$ pyenv install -l 

実行した時に最新のバージョン(3.6.2)をインストールしました.

$ pyenv install 3.6.2

インストールされたバージョンを確認

$ pyenv versions                                                                                              
* system (set by /Users/****/.pyenv/version)
  3.6.2

アクティブにするバージョンを選択.

$ pyenv global 3.6.2

確認してみると,

$ pyenv versions
  system
* 3.6.2 (set by /Users/****/.pyenv/version)

pythonを正しくインストールできたか確認.

$ which python
/Users/****/.pyenv/shims/python

ここまでで,とりあえずpythonのインストールをすることができました.次は仮想環境を構築するためのpyenv-virtualenvを入れていきたいと思います.
このサイトを参考にさせていただきました.
qiita.com

pyenv-virtualenvのインストール

$ brew install pyenv-virtualenv

インストール終了後,.zshrcを書き換え.(先ほど追記した部分を書き換えました.)

## Set path for pyenv
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
    export PATH=${PYENV_ROOT}/bin:$PATH
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
fi

リフレッシュ.

$ source .zshrc

ここからscrapyをインストールするための仮想環境を作っていきます.
まず,適当にフォルダを作成し移動.

$ mkdir ~/Desktop/pyenv_sc
$ cd ~/Desktop/pyenv_sc

pythonのバージョンを確認.

$ pyenv versions
  system
* 3.6.2 (set by /Users/****/.pyenv/version)

先ほど,globalでアクティブにしたので,3.6.2が設定されています.

仮想環境を構築し,確認.

$ pyenv virtualenv 3.6.2 sc
.....
$ pyenv versions
  system
* 3.6.2 (set by /Users/****/.pyenv/version)
  3.6.2/envs/sc
  sc

仮想環境に切り替え,確認.

$ pyenv local sc
(sc)$ pyenv versions
  system
  3.6.2
  3.6.2/envs/sc
* sc (set by /Users/****/Desktop/pyenv_sc/.python-version)

これで,このディレクトリに映るたびに自動でsc環境が使用されます.この状態でパッケージをインストールすると,この仮想環境にインストールされ,他の環境に影響を与えません.

環境を削除する場合は

$ pyenv uninstall sc
pyenv-virtualenv: remove /Users/****/.pyenv/versions/3.6.2/envs/sc? (yを入力)

削除されたか確認.

$ pyenv versions
pyenv: version `sc' is not installed (set by /Users/****/Desktop/pyenv_sc/.python-version)
  system
  3.6.2

これで仮想環境構築の流れを追うことができました.


以上をまとめると,下記のようになります.

## pyenvのインストール
$ brew install pyenv
## pyenv-virtualenvのインストール
$ brew install pyenv-virtualenv

## .zshrcに追記
## Set path for pyenv
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
    export PATH=${PYENV_ROOT}/bin:$PATH
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
fi

##リフレッシュ
$ source .zshrc

##pythonのバージョンを確認し,インストール,アクティブ化.
$ pyenv install -l
$ pyenv install 3.6.2
$ pyenv global 3.6.2
$ pyenv versions

##パッケージをインストールするための仮想環境を構築するためフォルダを作成し,移動.
$ mkdir ~/Desktop/pyenv_sc
$ cd ~/Desktop/pyenv_sc

##仮想環境を構築し,切り替え.
$ pyenv virtualenv 3.6.2 sc
$ pyenv local sc

以上です.