「Pyton/Django超入門」python manage.py runserverすると「zsh: command not found: python3.6」
結論
pythonが別バージョンのそれを見に行っていて、3.6.0にパスさせる必要がある。その方法
現状確認
brew search python(searchじゃなくても良い)
で
python
がチェックされている。
すでにinstallされていることを確認
やること
以下つらつらとやること。
環境に合わせて随時対応してください
python3
と打つと
Python 3.7.0 (default, Jul 23 2018, 20:24:19)
3.7.0
がはいっている
brew install python3
したから
新しいのが入った。
ここで
anacondaはpython3.6を見に行っているから「ないよ」と言われているのが原因じゃないかと予想できた
どっちかの道
・python3.6.0を入れてパスを3.7から切り替える
・anacondaを3.7に対応させる
調べたら
・anacondaを3.7に対応させる
は
https://stackoverflow.com/questions/46939562/update-to-python-3-7-using-anaconda
で
anacondaの依存パッケージが最新の3.7に対応していないのでそれは今現在(2018/7/27)できないっぽいので
そっちの道は諦める
brewで古いバージョンのそれに対応するのはできないっぽいので
pyenvを入れる(nvmみたいなpytonのバージョン管理ができるもの)
pyenvのインストール、使い方、pythonのバージョン切り替えできない時の対処法
brew install pyenv
pyenv install --list
でinstall できるものを確認
pyenv install 3.6.0
(3.6ではなく)
を叩く
お使いのシェル設定ファイルに下記を追加 アンド 更新 (source ~/{お使いのドットファイル})
which python
で
python: aliased to python3.6
が返って来ることを確認
python
叩くと
Python 3.6.0 (default, Jul 28 2018, 19:40:16)
で
python manage.py runserver
ModuleNotFoundError: No module named 'django'
がないよと言われている
pip install django
で入れる。
もう一度実行
python manage.py runserver
動いた
以上です。
pyenvで切り替えれば問題ないのだけれど、
brewのそれでやろうとしていたのが原因でした
違う言語に足を踏み入れると
必ずといっていいほどバージョンの互換性の問題とパス問題が出てきますね
早く慣れたい