はじめに
大高隆・著「動かして学ぶ!Python Django開発入門」を使用して
python・Djangoの学習を始めた初学者です。
ruby・railsを使用して4ヶ月ほどプログラミングの勉強をしていましたが、
エンジニア転職にあたり、pythonを使用することになったのでこの本を片手に勉強を始めました。
ド級の素人なので、補足・ご指摘等コメントいただけると大変助かります。
概要
【参考書該当箇所】
Chapter4 04 Djangoをインストールする(Kindleの位置No.1950-1951)
【詰まった点】
python仮想環境作成後、Djangoを参考書の指定コードにてインストールしようとしたところ、エラー発生。
【指定コード】
$ pip install django==2.2.2
【エラー内容】
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Defaulting to user installation because normal site-packages is not writeable
ERROR: Could not find a version that satisfies the requirement django==2.2.2 (from versions: 1.1.3, 1.1.4, 1.2, 1.2.1......)
ERROR: No matching distribution found for django==2.2.2
考察
ほう、どうやらpython2系は終わりを迎えたようだ。(それすら知らなかった...)
文献内にも以下のような記述を発見。
Pythonのバージョンは大きく2系(2.X)と3系(3.X)に分かれます。この2つは大きく仕様が異なり、2系ではDjangoのバージョン2.0以降が動きませんので必ず3系のバージョンをインストールしてください。
ちなみにバージョン指定をしないでDjangoをインストールすると、、、
$ python -m django --version
1.11.29
そりゃそうだ。python2系じゃDjango2.0以降は動かないって書いてあるし。
あれ、でもpython3ってインストールしたことない?2系なの??
$ python --version
Python 2.7.16
...(^ω^)?
$ python3
Python 3.7.7 (default, Mar 10 2020, 15:43:33)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
...(^ω^)???????
何が起きていることやら。
解決策
pip3にてコマンドを実行したところ、
$ pip3 install django==2.2.2
同じように、pythonではなく、python3でバージョンを確認したところ、
$ python3 -m django --version
2.2.2
上手くできたみたいです。よかったよかった。
仮説
ちなみに上記、pythonでバージョン確認をすると、
$ python -m django --version
1.11.29
となりました。
ポイントとしては、
・python両バージョンとも環境としてはあるよ
・[python2.7 → Django1.11.29],[python3.7.7 → Django2.2.2]がそれぞれ対応しているよ
・python2系下ではDjango2系は動かないからpython3系下でインストールしてね
ということだったのだろうか。
どうやら調べてみると、macだとpython2.7がデフォルトらしい。
macOSには最初からバージョン2系(2.X)のPythonがインストールされていますがDjango2.0以降には使えないので別途バージョン3系(3.X)をインストールする必要があります。
(Kindle の位置No.1879-1880)
よく読むとちゃんと文献にも書いてありました。
ということで、下記を参考にバージョン変更をするのが良いのかな?
・MacにPython3をインストールしようとしたら2.7だったのでバージョン変更したよ
・【Mac】Python のデフォルトをPython 2.7.xからPython 3.x.xにきちんと切り替えるんだ!戻してたまるか
もし、間違ってるぞ!!という場合は、教えていただけると大変ありがたいです。