LoginSignup
1
0

More than 3 years have passed since last update.

Django2.0系のインストールに詰まった話【初学者が参考書片手にpython学習】

Last updated at Posted at 2020-05-23

はじめに

大高隆・著「動かして学ぶ!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にきちんと切り替えるんだ!戻してたまるか

もし、間違ってるぞ!!という場合は、教えていただけると大変ありがたいです。

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0