初学者持着参考书学习Python时遇到了 Django2.0版本的安装问题
首先
我是一个使用大高隆著作《动手学习!Python Django开发入门》开始学习Python和Django的初学者。
我之前使用Ruby on Rails学习了大约4个月的编程,但是在转职为工程师时,决定使用Python,所以开始用这本书学习。
由于我是一个初学者,所以如果您能给我补充、指正或者提供评论,我会非常感激。
总结
【参考书相关部分】
第四章04 安装Django(Kindle位置No.1950-1951)
Python虚拟环境创建后,尝试按照参考书中的指定代码安装Django时出现错误。
【指定代码】 mǎ)
$ 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系列无法运行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 3而不是Python检查了版本。
$ 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]分别相应地兼容。
– 由于Django2.x在Python2.x下无法运行,请确保在Python3.x环境下进行安装。
这是否是要传达的意思。
通过调查来看,貌似在Mac上默认使用的是Python2.7。
在macOS上,默认安装了Python的2.X版本,但是无法在Django2.0及更高版本上使用,因此需要单独安装3.X版本。
仔细阅读后,文献中也有写到。
所以,根据下面的内容,改变版本是个好主意吗?
· 当我试图在Mac上安装Python3时,发现默认版本是2.7,所以我进行了版本更改。
– 【Mac】要好好切换Python的默认版本,从Python 2.7.x切换到Python 3.x.x!绝不会回头的。
如果我犯了错误,请告诉我,我会非常感激。
引用资料
- 大高隆・著「動かして学ぶ!Python Django開発入門」