2023年1月に購入したM2 macでのpy環境構築
homebrewをインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
パスをzshで通す。
echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/xxxx/.zprofile echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/omae3/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" source ~/.zprofile # 設定をロード
以下でバージョンが出ればok
brew -v brew install wget # よく使うのでinst.
pyenv外のpyをインストール:
brew install python3
python3 –version # なんか数字が出れば成功
pyenvのインストール:
brew install pyenv # pyenvインストール
echo ‘export PYENV_ROOT=”$HOME/.pyenv”‘ >> ~/.zshrc # パス
echo ‘export PATH=”$PYENV_ROOT/shims:$PATH”‘ >> ~/.zshrc # パス
echo -e ‘if command -v pyenv 1>/dev/null 2>&1; then\n eval “$(pyenv init -)”\nfi’ >> ~/.zshrc # パス
source ~/.zshrc # 有効化
pyenv install –list # pyのインストール可能なバージョンを見る
pyenv install 3.9.5 # pyのインストール(3.8.9など古いとエラーがでる模様)
pyenv global 3.9.5 # 使用バージョンを変更(初期はenv外のpy)
pyenv versions # 3.9.5に*があれば成功
python3 –version # 3.9.5と出れば成功。出ない場合 -> ちゃんとenvのpathの通した?
jupyterとpyenvの連携:
エディタでpyのパスを見て、jup上で3.9.5が出ればok(memo: 前はpyenvと連携がうまくいかなかったが何もしなくても自動でバージョンが変わるようになった。非常に良い。3.9.7の3.9.5の入れ替えでチェック済み)
pip3 install jupyter
Jupyter notebook
import sys # jup.上で
sys.path # jup.上で
インストール:
pip3 install numpy
pip3 install numpy(科学技術用のデータ利用)
pip3 install scikit-learn(機械学習の関数多し)
pip3 install matplotlib(グラフの描画)
pip3 install scipy(統計の関数多し)
pip3 install pydotplus (決定木可視化)
brew install graphviz(決定木の可視化のために)
brew install ffmpeg(matplotの動画化に必要)
pip3 install graphviz(有向無向グラフ)
pip3 install semopy(共分散構造分析)
pip3 install opencv-python
pip3 install tqdm
以下はエラーが出たが、macではやらないからとりあえず放置
pip3 install mecab-python3
pip3 install tensorflow
ここから旧資料(〜2019)
インストール
HomeBrewのインストール:
MacOSXに対し、色々なアプリケーションをインストールするコマンドを使用できるようになります。ターミナルから以下のコマンドを入力することでインストールされます。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
もしこれでbrewコマンドが使えるようにならない場合は、以下のコマンドを打つ。
xcode-select --install
wgetのインストール:
Webからファイルを取得するコマンドを使用できるようになります。インストールは、ターミナルから以下のコマンドを打てばokです。
brew install wget
python3のインストール:
brew install python3
統計・機械学習パッケージのインストール:
pip3とは、python3環境にパッケージを入れるコマンドです。以下の通り入力してください。
エディタ: pip3 install jupyter(エディタ) 機械学習・統計学周り: pip3 install numpy(科学技術用のデータ利用) pip3 install scikit-learn(機械学習の関数多し) pip3 install matplotlib(グラフの描画) pip3 install scipy(統計の関数多し) pip3 install pydotplus (決定木可視化) brew install graphviz(決定木の可視化のために) brew install ffmpeg(matplotの動画化に必要) pip3 install graphviz(有向無向グラフ) pip3 install semopy(共分散構造分析) 深層学習: pip3 install tensorflow pip3 install plaidml-keras plaidbench -> memo: これでkerasもはいる。なお、必ず、plaidml-kerasを、tensorflowよりも前にインストールすること。バックエンドが書き換えられなくなります。というか?tensorflowのインストールはいらない?未検証。 以下のバージョンを推奨します。 tensorflow: 2.3.0 plaidml-keras: 0.7.0 自然言語処理: pip3 install mecab-python3(形態素解析) pip3 install gensim(word2vec) 画像処理: pip3 install opencv-python スクレイピングしたい場合: pip3 install beautifulsoup4(スクレイピングライブラリ) pip3 install requests(web接続ライブラリ) Webアプリ開発: pip3 install bottle(pythonでサーバを立てる) pip3 install jinja2(python+htmlテンプレート) バージョン表示: pip3 list(全部表示) pip3 list -o (現バージョンと最新バージョンの表示) pip3 show xxx (xxxのバージョンを表示) バージョン指定インストール: pip3 install xxx==n.n.n(xxxがインポート名で、nがバージョン) アップグレード: pip3 install --upgrade xxx アンインストール: pip3 uninstall xxx (xxxにパッケージ指定)
バージョン備忘録:
このページの実行環境のバージョンを、残しておきます。
python3: 3.7.1 (python3 –version, ter)
jupyter: 4.4.0 (jupyter –ver, ter)
pip3: 18.1 (pip3 –version, ter)
numpy: 1.15.4 (np.__version__, py)
sklearn: 0.20.1 (sk.__version__, py)
spicy: 1.1.0 (sp.__version__, py)
matplotlib: 3.0.2 (mp.__version__, py)
エディタ: Jupyterについて
起動方法:
まず、ターミナルのコマンドで、作業したいディレクトリまで移動してください。
例えば、DesktopにあるPyディレクトリで作業したい場合には、
cd Desktop/Py
で移動します。移動後、
jupyter notebook
とターミナルでコマンドを打つとJupyter notebookが起動します。
その後、右上のタブから「New->Python3」と選択すればエディタが開きます。
上の方にあるUntitledをクリックし、ファイル名をつければ完了です。
マークダウンとコーディング:
Jupyterには、マークダウン、コーディング、2つのモードがあります。エディタの左側に「In[]」とついている場合は、コーディングです。ついていない場合はマークダウンとなります。コーディングモードでは、プログラムを記述します。マークダウンではプログラムの説明などを書く文字を記述します。マークダウンで説明を書き、その下に、コーディングする、というのが一般的な使い方になります。
jupyterショートカットコマンド:
たくさんあるので、最低限使うものだけ記載します。mac OS Xの場合です。
esc + y: コーディングモードにチェンジ
esc + m: マークダウンモードにチェンジ
esc + a: 現在のセルの上にセルを追加
esc + b: 現在のセルの下にセルを追加
esc + dd: 該当セルを削除(dを2回連打)
esc + z: 元に戻す(セルを誤って消したときなど)
sift + enter: そのセルを実行
command + s: 上書き保存
その他便利技:
複数行選択 + tab: 一括インデント
複数行選択 + shift + tab: 一括インデント (戻す)
複数行選択 + command + /: 一括コメントアウト(もう一回で戻す)
特殊な保存:
「file -> download as」を選択すると、「.py」や「.html」で保存することができます。作ったコードをどこかに実装したい場合には「.py」、webコンテンツとして公開したい場合には「.html」で保存するといいと思います。なお、「.html」で保存すると、静的なコンテンツになるので、実行などはできなくなります。
ターミナルのJupyterをシャットダウン:
Jupyterはサーバとして起動されています。ターミナルでサーバを停止するには、「control+c」を押してください。「command+c」ではないので注意すること。
Pyenv環境設定
意図せぬ謎のバージョンアップでpythonが動かなくなってしまうのを防ぐ方法
インストール:
brew install pyenv
インストール可能なバージョンの一覧:
pyenv install --list
指定バージョンのインストール(例えば、python 3.7.1):
(複数インストールもok)
pyenv install 3.7.1
インストール済みバージョンの取得:
pyenv versions
使うバージョンの変更:
→ 1行目は使うバージョンの設定で、2, 3行目はそのバージョンになっているかチェックするコマンド。一致しなければ、トラブルシューティングへ。
pyenv global 3.7.1 python --version pip3 --version
そのバージョンでjupyterなどをインストール:
→上で設定したバージョンでのみ使えるようになる。
pip3 install jupyter pip3 install numpy ...
インストールしたimportファイルがあるかチェック:
→例えば、python 3.7.1の場合
cd /Users/xxxx/.pyenv/versions/3.7.1/lib/python3.7/site-packages
Jupyterにカーネル追加:
→例えば、python 3.7.1の場合
python -m ipykernel install --user --name=python3.7.1 --display-name=python3.7.1
これで、ファイルを開くときに、カーネルを選択できる。
Pyenvトラブルシューティング
pyenv global と python のバージョンが合わない:
ターミナルで以下をたたく。
eval "$(pyenv init -)"
jupyterで3.7.1カーネルを選んでいるのに、3.8.1のインポートファイルが使われてしまう。
jupyterで、
import sys sys.path
これで、対象のバージョンになっていればok。例えば、カーネルで3.7.1と設定していれば、ここでも3.7.1がかえってくる。もし意図しないバージョンが出てくるなら、pip3で入れたそのバージョンのライブラリが使えなくなる。この場合、ターミナルで、
jupyter kernelspec list
と打ち込み、対象カーネルのディレクトリに移動し、vimで.jsonを開く。ここに、対象バージョンのディレクトリが設定されているかチェックする。カーネルが3.6.1なのに、jsonでは3.7.1になっているなどがあれば、修正する。おかしいものは、以下のコマンドで削除する。
jupyter kernelspec uninstall pythonx.x.x
memo:
しばらくは3.7.1でやる予定(2020.8)
PYTHONPATHの永続的な指定
python3 import sys sys.path
を入れると、pythonがloadしてくれるパス一覧が表示される。ただ、この中に読んでほしいディレクトリが存在しない場合がある。この場合は、ターミナルで、
export PYTHONPATH="/xxx/xxx/xxx"
と指定すれば良い。すると、exportを入力しても、sys.pathでも、このディレクトるが表示される。でも、これだと毎回入力しなければならない。exportコマンドを永続的にしたい場合は、
vim ~/.bash_profile
と打ち込む。「~/」はhomeディレクトリを意味する。homeディレクトリは、exportコマンドで見ると、どこに指定されているかチェックできる。homeディレクトリにある「.bash_profile」は、環境変数を永続的に設定できる場所を意味する。「.bash_profile」は隠しファイルなので、lsコマンドでは見れず、「ls -a」コマンドを利用する必要がある。この中に、
export PYTHONPATH="/xxx/xxx/xxx"
を書き込んで、保存すればok。ターミナルを起動するたびに、この設定が反映される。ターミナルを閉じて、もう一度開き、exportコマンドか、sys.pathで指定したディレクトリが反映されているか、チェックすると良い。homeディレクトリに.bash_profileがない場合は、自分で作っちゃってok
Pyenv環境設定(zsc環境, M1チップ)
メモ書き。3.7.9, 3.9.1しか入らない?
brew install pyenv pyenv install 3.7.9 pyenv install 3.9.1
→ M1チップだとうまくいかない?