memorandums

日々の作業ログです。

python環境構築の作業ログ(再び)

あるソースを動かそうとしていろいろとうまくいかなかったのでpythonの環境を再構築しました。作業ログです。

環境はmacです。

ちなみに1年前に本を見ながら以下のような作業をした足跡がありました。すっかり忘れています。
memorandums.hatenablog.com

今回も似たようなことをやりますが。。。pythonは常に使う言語ではないので、venvとか使わないで、できるだけシンプルにしたいと思います。

まず、Macに入っているpython環境を消します(/usr/bin/pythonは残るので完全に消すわけではありません)。

/Applicationsの中に私のマシンには2.6と2.7がありました。これは使っていないので消します。

cd /Applications
sudo rm -r "Python 2.6"
sudo rm -r "Python 2.7"

あわせて以下も消します。

sudo rm -rf  /Library/Frameworks/Python.framework

あと、brewでpython2を入れていたのでこれも消します。

まず、(一緒に消してくれるような気もしますが)pip(←python2用のパッケージマネジャ)でいれたものもを以下のコマンドで全消しします。

pip freeze > piplist.txt
sudo pip uninstall -r piplist.txt

このあと、私の環境python2を消そうとしたらmercurialとnumpyが使っているから消せないとでたので、まずこれを消します。

brew uninstall mercurial
brew uninstall numpy

で、最後にpython2を消しました。

brew uninstall python2

同様に、brewでいれたpython3も消しました。python3はあちこちのソフトウェアが使っていたようですが、ダメもとで強制削除しました(ダメなら入れ直せばいいし、pyenvでいれたやつがうまくリンクすればそれでもいいと)

pip3 freeze > piplist.txt
sudo pip3 uninstall -r piplist.txt
brew uninstall python3

これでbrewでいれたpythonはすべて消せるので。。。ターミナルにpythonと入力すると、もとからmacに入っている/usr/bin/pythonが動きます。ちなみにこのバージョンは2.7。

あとは、pyenvをいれてpythonをその中でインストールしていきます。

brew install pyenv

私はzshを使っているので.zprofileに以下を追記してターミナルを再起動しました。この辺はネットにいろいろと情報があるのですが。。。シンプルにしました。

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

あとは、pyenvでpythonをインスコします。以下で最新バージョン番号を確認します。このときは3.7.4でした。
>||
pyenv install -l

3.7.4をインストールして、3.7.4を活性化(ターミナルでpythonをタイプしたら3.7.4のpythonが実行できるようにする)します。

pyenv install 3.7.4
pyenv global 3.7.4

以下のコマンドでバージョン確認。3.7.4と表示されればとりあえずOKです。

python --version

とりあえずpipでpygameをいれてみます。

pip install pygame

以上です。