macos 安装python3.8 版本_正文(二)python的安装

概述:

  1. Python的安装
  2. 函数库的安装及查询

问题:安装位置在计算机的什么地方?包括python的安装位置,函数库的安装位置


python的安装

  1. 版本选择 python 官网 https://www.python.org/

python3目前版本3.8.3,python2 2.7.18

python版本查看命令 , 也可以用来确定python系统变量是否配置正确,可以在终端(类Unix系统)或者cmd里面输入:

python --version

系统未安装python,或者环境变量配置错误会显示下图:

ac03747ca36c1d7d6b5a3a78e5c53c00.png

从官网上下载一个windowns的安装包:

0e807a4eafa34c2d109e53016b032453.png

1是源码,根据压缩算法不同,压缩后文件大小不一样,详细安装可以自行查询。

2属于windows 64位系统用,第一种压缩包,第二种exe可执行,第三种直接web执行安装

3属于windows 32位系统用。


我用两种方法安装下:压缩包安装,和exe安装都试试,首先从官网下载 , Windows x86-64 embeddable zip file,这个是zip压缩包,下载下来就是

ea0c7225555610048424b686d77c5eea.png

另一个安装exe文件就是:

a4dca4cd34b238dfbb81616d89e841d6.png

解压python-3.8.3-embed-amd64.zip后得到一个文件夹,找个地方放,记录下文件路径;

46f510e3fcf8cb07982c3238cd892c28.png

文件夹路径就是D:gamepython-3.8.3-embed-amd64 PS: 嫌文件路径名长,最后的后缀可以去掉改成 python3,改了后系统变量就要改,之前说了系统变量是定位用的,你改了文件夹路径就要改系统变量,你换个地方放也要改系统变量,你就算加一个英文字母,计算机都找不到这个地方,就出错了,或者可能编码解码方式不同导致你这一串字符在你这台计算机解读跟另外一台计算机解读出来少了几个或者一点不一样,都算出错,原因都在于找不到这个地方。

8700d080e84a25c1d326495b06030dcf.png

我改成 python3 了,所以文件路径变成 D:gamepython3, 下面我们加系统变量,加完了python就安装完了

1c470fbf9c7de297ae1f60f61ba504b8.png

在win8.1在控制面板里面找到系统里面有高级系统设置(步1),系统属性窗口找到环境变量(步2),跳到环境变量窗口,上面是用户变量,下面是系统变量,都有PATH(不区分大小写),a和b不同在于实际范围,家里就一个自己的账户,闲着没事不多创建多少个账户,上面的用户变量就是你这个账户的系统变量,下面那个管所有的账户。这次在上面加:

011219b8dfddc7159d3b82e203c88e9e.png

可以测试一下计算机是否找的到这个地方(意味着安装是否成功)

4b825732e62540f4867aa432f2f5b723.png

在确认找到后我们就可以看看一个库sys,里面有python的安装信息:

这个需要python解析,先开启python,进入python的程序循环后在输入命令,先加载(import)库(sys),sys里面的属性path就是现在python在计算机的位置

2797d21f17d6700281f1bb0e5c95a56d.png

箭头表示从cmd命令行程序进入到python程序

相关命令:
python                              (cmd内)  从windowns命令行程序进入到python解析程序
import sys                           加载sys库
sys.path                             sys库的path属性里面存着当前python的安装路径

可以看到是D:gamepython3 , 多了几个反斜杆 , 这是因为计算机里面很多编码都有特殊字符用来做其他的标记作用,比如分割符,标记这一串是字母,那一串是数字,如果想表示原来这个符号只能在前面加一个转义符,当然你可以改编码方式(在编码表里自己加),但是改了以后只能自用,其他计算机识别不了,除非你拉一群人普及你的编码,形成一种规范,要不然就是自娱自乐。

pip的安装

上面介绍的是python的安装,准确来说python的纯净版的安装,没有其他任何的函数库,包括版本控制,第三方库的加载等等,如果你要自己加的话,要在python配置里面加相关的设置,简单的来说,你下载一个第三方函数,但系统从操作系统这个环境切到python的程序运行环境时,python这个程序要找到第三方库的位置,配置它自己的环境变量,要不然第三方库就是找不到,你一用就报错,当然你自己写也行,把另外的库集成到你的程序里面,优点是很方便,复制粘贴过来,但是你的程序本身体积会稍微变大一点点,一个库函数占不了多大,这是成本。但是这在工程角度来说,效率降低了,而且你复制粘贴过来后,如果这个库的作者很勤奋,一月一更,你确定每次更新都得查查,万一这个作者很随性,写的下一个版本不兼容你用的版本,好吧,你得改了,还是手动改,这就是这种集成的一个缺点,专业点叫耦合度太强,怎么降低耦合,导入库的方式,import那种导入,写接口也是都是降低耦合的,就是尽量保证一个内环境不太夹杂很多外来的东西。纯自己开发,耦合性是就很低了,但是你要和操作系统或是其他程序交互,要不然你的程序在计算,最后出的结果只能自己使用,没有出口。

所以下面就是pip怎么安装,pip就是一个这样的东西,管理python的版本,管理python相关库的环境问题,简单来就是搭建内环境的半自动化,不用人工引用第三方库了,让程序帮你处理这些,所以它本身也是一个库,里面有一些函数,这些函数的目的就是半自动解决你的库支持的问题。

我们先看看有没有安装pip

974b82d029db569ee9b5712b4ed499f6.png

没安装,到 https://bootstrap.pypa.io/get-pip.py 下载一份pip的安装脚本,严格下载(不改字符),另存为get-pip.py,再用本地的python跑一遍

001bce7c540925e57a323924e6161cc1.png

这个脚本的主要内容就是自己到网上下载pip,setuptools,wheel三个库到D:gamepython3Scripts, D:gamepython3这个是我放脚本的目录,也是python的安装目录,这个脚本最后在它所在的目录下创建了一个文件夹Scripts,从网上下了三个东西放在里面,这三个东西都是函数库,现在还差把它(脚本)生成的目录加进系统变量里。

再次检测下pip 安装好了没有

6b7abe6b70f664583e880fe3899b4ff0.png

又报错了,ModuleNotFoundError,前面还有一串,这次的问题出现后又困扰了我一下,直到我看到一篇博客里面说用官网下的python-embbed版本的安装包里面下载pip时遇到的问题,链接:https://michlstechblog.info/blog/python-install-python-with-pip-on-windows-by-the-embeddable-zip-file/

这篇帖子里面指出根本原因在于python-embbed版本的压缩包里面有一个叫做python36._pth的文件,这个会是python内置的一个用于处理系统变量相关的配置文件,优先级别高于操作系统的环境变量设置,在我下的python3.8里面这个文件叫 python38._pth,记事本打开看一下

a429aa4c766162317d0f2e99b69b60d8.png

2bcf56765f91e64cc7c69b1dc692051f.png

里面有python38.zip一行,一个点(一般表示当前目录),所以python内的系统变量被这个文件锁死在python38.zip和一个相对路径下,我们可以看一下sys.path这个属性

0823e5e429b0df2158e097ad75eda771.png

这两个路径说明了的确这个配置文件优先于Windows系统的环境变量设置,所以接下来有两个做法,把这个文件改名(删掉怕以后再用到它,改名让这份配置文件失效就行),改成python38._pth.fff

19f6dbab4911096e14f11f5b08a15ad9.png

cc60855995974fe8411a96baec42da42.png

可以看到确实python内环境变量增加了,这时候pip应该生效了

pip生效检验:

3bd534d908cd389c43b812c0bfcdcfd5.png

看一下现在安装的包:用pip list

08fbc3664083922e6348732f45084a0f.png

有三个包pip,setuptools,wheel 以及对应的版本号,所以让python38._pth失效是可以的

还有一种方法,改里面的路径,试着改一下这份文件

现在的问题是怎么改这份文件?查官方文档,或者

用对比法把,现在文件里面是,路径是 D:gamepython3python38.zip , D:gamepython3

2bcf56765f91e64cc7c69b1dc692051f.png

0823e5e429b0df2158e097ad75eda771.png

python38.zip 对应 D:gamepython3python38.zip

. 对应 D:gamepython3

一般你要改目录,有时需要加反斜杠 , 加英文字母或者数字

比如:

495f63385e32ef11a403000443e19f8d.png

加了三串有特点的字符串,

1,数字和字符串中间用反斜杠隔开

2,末尾加个反斜杠

3,前面加个原点(. )

再比较一下python内系统环境的变化

622ed2a99d2216f62f14f7edb46fd548.png

比前面的 D:gamepython3python38.zip , D:gamepython3 多了三个

D:gamepython3520abc

对应着字符串 520abc 的变化:前面加个文件路径 D:gamepython3 , 中间的斜杆变双斜(就是加了一层转义)

D:gamepython3520abc

对应着字符串 520abc 的变化:最后的斜杆变双斜(就是加了一层转义)

D:gamepython3521abc

对应着字符串 .521abc的变化. (圆点)被 D:gamepython3取代,斜杆变成双斜(加了一层转义)

所以初步观察下,变化规律就是 :

圆点(.) 代表当前相对路径,斜杆会自动转义,数字和字符串保持原样,

其他特殊字符(|,:,+)等等未知,一般来讲文件目录名你确定要加个特殊符号?要这么有特色吗。。。

弄清python38._pth文本(后面# 开头的是注释,可以不管,要管看官方文档)和系统变量的简单的对应规律

现在我们要加几个系统变量:

D:gamepython3lib

D:gamepython3DLLs

D:gamepython3libsite-packages

D:gamepython3Scripts

这几个都是后续python加第三方库函数后可能安装的位置(为什么?)官方文档,或者官方的exe安装版就是放在这几个地方。。。

所以python38._pth改成下图:

96bdb47629269c8ed98417712735b1db.png

现在的python内的系统变量是:

dfe43a113899418ebfabfba5862798a4.png

接下来我们说说python38._pth 这份文件有什么用,这是个人观点,这份文件将python的系统变量设置变成了文本文件的格式,优先于本地系统,这个你不觉得跟什么东西类似吗,对,虚拟机,虚拟环境的搭建,就是数据信息格式的一种统一,回到这里就是一个项目选取最优化的库,只用编辑python38._pth这个文本,在这个文本文件里面改几个字符,所以假如有人写个一个python的虚拟环境配置程序,那么可能这个程序就是创建很多个python38._pth,一个项目对应一个,你说支持文本编辑函数难写还是管理系统文件目录的函数难写,反正改几个字符能做到的事情,我是不愿意一个个找文件复制,粘贴。

这是一种简化操作的思维,当一些事务重复大量次数的时候,你可以分类标记它们,关键的信息用最简单的方法管理,繁琐的信息交互交给机器来弄和计算,当然计算过程你得想好。

小结

第二种安装python的方法, exe直接安装,内置集成pip,很方便,绕开了系统变量的自己配置,但是这样也绕开了一些本质的东西和思考。

a4dca4cd34b238dfbb81616d89e841d6.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值