IT七剑客 IT七剑客
首页
wresource
郭霖
孤寒者
IT邦德
沉默王二
老麦
stackoverflow
GitHub (opens new window)
首页
wresource
郭霖
孤寒者
IT邦德
沉默王二
老麦
stackoverflow
GitHub (opens new window)
  • 基础python文章

    • 一篇万字博文带你入坑爬虫这条不归路
    • 使用scrapyd部署爬虫项目
    • scrapy_redis分布式爬虫的创建流程及启动
    • Scrapy实战之豆瓣top250电影信息的爬取
    • Scrapy框架初识
    • Python常用模块 之threading和Thread模块 第三阶段 线程池
    • Python常用模块 之 threading和Thread模块 第二阶段 线程通信及队列基操
    • Python常用模块 之 threading和Thread模块 第一阶段 线程的实现
    • Python简介&&开发环境配置&&工具准备
      • 1.1 Windows安装Python解释器
      • 1.2 Windows安装pycharm开发工具
      • 1.3 Linux系统中搭建Python开发环境
      • 2.1 CPython
      • 2.2 IPython
      • 2.3 PyPy
      • 2.4 Jython
      • 2.5 IronPython
      • 2.6 说明
      • 👑有关于Me
  • 前后端实战

  • Python面试

  • 孤寒者 Python
  • 基础python文章
孤寒者
2022-08-20
目录

Python简介&&开发环境配置&&工具准备

# 0.Python是什么

Python语言创始人为吉多·范罗苏姆(Guido van Rossum)称龟叔(创始人肯定得知道的)。

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本编程语言。

  • Python是一种解释型语言:这意味着开发过程中没有了编译这个环节,而是在运行时通过解析器将源代码一行行解析成机器码;但是像C,C++等则是编译型语言,它们通过编译器将所有的源代码一次性编译成二进制指令,生成一个可执行的程序。解析型语言相对于编译型语言的好处就是天然具有跨平台的特点,可移植性较好,只要有解释环境,就可在不同的操作系统上运行(我们伟大的Python是能够运行在所有主要的操作系统中的哦!)
  • Python是一种交互式语言:这意味着我们人可以和它进行交互式编程哦(就像两个人面对面对话一般)
  • Python是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程技术(面向对象也是像Python这类高级语言所普遍具有的一大特点哦)。

# 1.Python开发环境配置

孤寒者为大家详细演示Windows和Linux流程,mac系统和Windows下操作类似哦~

# 1.1 Windows安装Python解释器

真实在Windows上安装过Python的小伙伴会发现在 Windows 上安装Python真的和安装普通软件一样简单,我们只需要在官网下载个安装包,然后猛击“下一步”就可以了(真的秒~)!

Python 安装包官网下载地址:www.python.org/downloads/ (opens new window)

第一步:点击首页的Downloads,并在下拉框中选择Windows

请添加图片描述

第二步:选择指定版本

此处我选择的是最新版本,但是如果你因为项目对Python版本有特定要求的话,可以此界面下滑选择需要的版本下载!

需要插一嘴的是,为了防止你们下错而死在了安装上,简单对此界面一些前缀后缀进行说明(认真看看你下的是不是你想要的):

前后缀 含义
64-bit 64位的Python安装程序(现在的电脑一般都是64bit的)
32-bit 32位的Python安装程序
Windows embeddable package .zip格式的绿色免安装版本,可直接嵌入(集成)到其他的应用程序中
Windows installer .exe格式的可执行程序,这是完整的离线安装包(就选这个,别想了!)
请添加图片描述

第三步:下拉到最下面然后点击就在下载了哦 请添加图片描述

第四步:双击下载的.exe文件就正式开始安装Python了

请添加图片描述

(友情提示:一定要勾选Add Python 3.10 to PATH,这样的话Python命令工具所在的目录就会自动添加到系统环境变量中,就不需要你手动添加python系统环境变量啦,在执行Python命令时也不需要指定完整路径了!)

Python 支持两种安装方式,默认安装和自定义安装:

  • 默认安装会勾选所有组件,并安装在 C 盘;
  • 自定义安装可以手动选择要安装的组件,并可自定义其安装位置。(正经人肯定选这个,我也推荐选这个,不然你啥东西都安C盘里,电脑会变卡哦~而且大家以后不管安装啥都看一眼安装路径,建议自定义哦!)

①点击Customize installation进入下一步,选择要安装的组件,建议保持默认即可,也就是全部勾选;

②点击“Next”,选择安装目录(这就是自定义Python的安装路径,自己找个盘放哦~)

③最后点击“Install”,静候一会就安装好啦!

In the end:测试是否安装OK

“win+r”打开Windows的命令行程序,输入python命令,如果出现下图所示则证明安装OK哦! 请添加图片描述

按下ctrl+z并输入回车,或者输入 exit() 命令即可退出交互式编程环境,回到 Windows 命令行程序。

# 1.2 Windows安装pycharm开发工具

非常强烈推荐大家使用Pycharm工具进行python代码的编写和调试!

官方下载链接:www.jetbrains.com/pycharm/dow… (opens new window)

进入页面我们会发现pycharm有专业版和社区版两种,专业版需要购买才能使用(如果你是学生的话,可以进行学生认证也免费哦~);所以我们就来使用社区版的(不要担心没用到专业版会导致啥付费功能没用到之类的,我说实在话日常的python开发社区版完全够用!)

点击下图所指Download即可下载:

请添加图片描述 安装包下载完之后双击进行安装,一直Next即可,如果出现下图进行选择性勾选: 请添加图片描述 安装完成后,双击运行我们的pycharm,下图是问我们用不用导入设置(第一次用肯定是没得) 请添加图片描述 点击OK后我们选择打开一个新项目(New Project): 请添加图片描述并为项目指定刚刚下载的Python解释器路径: 请添加图片描述打开就发现可以使用了哦~ 请添加图片描述

小福利:很多人可能因为第一次用的话,都是英文不适应,所以下面就教大家如何汉化pycharm!

左上角File->settings: 请添加图片描述 重启就OK啦! 请添加图片描述

# 1.3 Linux系统中搭建Python开发环境

在大多数Linux计算机中都是默认安装了Python。而且默认Python版本是2.x,比如你再Linux计算机中打开终端窗口输入python,会显示2.x版本;但其实一般也都自带的有python3,在终端窗口输入python3即可。

如果你想更换Linux默认Python版本为3.x版本,可参见本文:《ubuntu-20.04-desktop-amd64.iso巧方法(起别名)设置python命令指向python3.8》 (opens new window)后面出!

如果你的Linux计算机不知道啥原因没有Python环境,那么下面教大家两种在Linux中安装Python的方法:

第一种方法:使用一个由第三方维护的PPA软件源deadsnakes 来安装所需要的Python版本

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.7
1
2
3

如果提示add-apt-repository命令不存在的话,安装 software-properties-common 这个软件包。

第二种方法:安装MiniAnaconda 上添加链接描述 (opens new window)查找合适的版本,我选择:

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3- py37_4.9.2-Linux-x86_64.sh
复制代码
1
2

几秒钟后下载完毕,开始安装:

sh Miniconda3-py37_4.9.2-Linux-x86_64.sh
复制代码
1
2

安装的提示过程中,所有需要输入yes或no的,我都输入yes,其他的直接回车用默认:

imgimg 上面是安装过程中的一些关键信息,次要信息已经省略。可以看到最终会提示,安装会在重启shell后生 效并自动激活miniconda,如果我们不希望自动激活可以在重启后执行:

conda config --set auto_activate_base false 
复制代码
1
2

手动激活只需要输入 conda activate 命令即可:

Last login: Sat Jan 23 19:37:05 2021 from 113.90.235.123 Welcome to Alibaba Cloud Elastic Compute Service ! 
[root@iZwz986uvm9yvhm7184f84Z ~]# conda activate (base) 
[root@iZwz986uvm9yvhm7184f84Z ~]#
复制代码
1
2
3
4

到这就OK了!

第三种方法:通过安装包安装(不建议用,比较老旧的方法了。用第一种和第二种方法不香么!)

1. 安装依赖环境

yum install -y make gcc
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
1
2

python安装之前需要一些必要的模块,如openssl,readline等。

如果没有这些模块后来使用会出现一些问题,比如没有openssl则不支持ssl相关的功能,并且pip3在安装模块的时候会直接报错;没有readline则python交互式界面删除键和方向键都无法正常使用,至于需要什么模块在make完之后python会给出提示,通过提示进行安装即可装全,下面是需要提前预装的依赖:

yum -y install zlib zlib-devel
yum -y install bzip2 bzip2-devel
yum -y install ncurses ncurses-devel
yum -y install readline readline-devel
yum -y install openssl openssl-devel
yum -y install openssl-static
yum -y install xz lzma xz-devel
yum -y install sqlite sqlite-devel
yum -y install gdbm gdbm-devel
yum -y install tk tk-devel
yum -y install libffi libffi-devel
1
2
3
4
5
6
7
8
9
10
11

2. 下载Python3安装包

wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
1

可以在 www.python.org/ftp/python/ (opens new window)选择要安装的版本

3. 解压安装包

tar -zxvf Python-3.7.4.tgz
1

或

tar -xvJf  Python-3.7.4.tar.xz
1

4. 进入解压后的目录,编译安装(编译安装前需要安装编译器 yum install gcc)个人习惯安装在**/usr/local/python3**(具体安装位置看个人喜好)

cd Python-3.7.4
mkdir -p /usr/local/python3
./configure --prefix=/usr/local/python3
1
2
3

执行完configure命令后,会生成一个 Makefile 文件,这个 Makefile主要是被下一步的 make 命令所使用( Linux 需要按照Makefile 所指定的顺序来构建 (build) 程序组件)。

make&make install
1

&表示同时执行2步, make实际就是编译源代码,并生成执行文件。make install实际上是把生成的执行文件拷贝到之前configure命令指定的目录/usr/local/python3下。

到这里安装已经结束,下面是配置环境:

1. 建立python3的软链接

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
1
2

2. 检查 Python3 是否正常可用:

python3 -V
1

3. 额外配置:

./configure --prefix=/usr/local/python3 --enable-shared CFLAGS=-fPIC
1

加上--enable-shared和-fPIC,可以将python3的动态链接库编译出来,默认情况编译完lib下面只有python3.xm.a这样的文件,

python本身可以正常使用,但是如果编译第三方库需要python接口的比如caffe等,则会报错;所以这里建议按照以下方式配置,另外如果openssl不使用系统yum安装的,而是使用自己编译的比较新的版本可以使用--with-openssl=/usr/local/openssl这种方式指定,后面目录为openssl实际安装的目录,另外编译完还要将openssl的lib目录加入ld运行时目录中即可。

4.Linux环境变量配置

将xxx加入PATH

vim /etc/profile
1

然后在文件末尾添加

export PATH=$PATH:xxx
1

按ESC,输入:wq回车退出。

修改完后,还需要让这个环境变量在配置信息中生效,执行命令:

source /etc/profile
1

可以让profile文件立即生效。

或修改用户环境变量

**vi ~/.bashrc**
1

# 2. 各种Python解释器

认识一下各种各样的Python解释器,在适当的场景使用适当的解释器,可以起到事半功倍的效果哦~

当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。

由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。

# 2.1 CPython

一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。

【CPython是使用最广的Python解释器】

# 2.2 IPython

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。

【CPython用>>>作为提示符,而IPython用In [序号]:作为提示符】

# 2.3 PyPy

PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。

# 2.4 Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

# 2.5 IronPython

IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

# 2.6 说明

Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。


有句话说的很好——一个人可以走的很快,一群人才能走的更远。这句话适用于任何地方,我也强烈建议大家在学习Python的时候和更多的小伙伴们报团一起学习!大家时不时的互相分享一下自己的小创作/请教一些自己琢磨不明白的小bug/或者一起聊聊每天的所得所感所悟...用正向激励促使自己持续学习,就好像你打游戏连胜了会一直玩下去一样。

余下内容是做的有一个完整的专栏,后面看看有机会的话也发布到掘金这个平台上~

# 🔆In The End!

# 👑有关于Me

个人简介:我是一个硬件出身的计算机爱好者,喜欢program,源于热爱,乐于分享技术与所见所闻所感所得。文章涉及Python,C,单片机,HTML/CSS/JavaScript及算法,数据结构等。

从现在做起,坚持下去,一天进步一小点,不久的将来,你会感谢曾经努力的你!

认真仔细看完本文的小伙伴们,可以点赞收藏并评论出你们的读后感。并可关注本博主,在今后的日子里阅读更多技术文哦~

作者:孤寒者 链接:https://juejin.cn/post/7106445265267064862 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

编辑 (opens new window)
#Python#孤寒者
上次更新: 2023/01/22, 14:02:45
Python常用模块 之 threading和Thread模块 第一阶段 线程的实现
前后端交互重点Ajaxの介绍及实战

← Python常用模块 之 threading和Thread模块 第一阶段 线程的实现 前后端交互重点Ajaxの介绍及实战→

最近更新
01
Coding 102 Writing code other people can read
02-26
02
Kotlin Flow响应式编程,StateFlow和SharedFlow
02-05
03
Kotlin Flow响应式编程,操作符函数进阶
02-05
更多文章>
Theme by Vdoing | Copyright © 2022-2023 IT七剑客 | MIT License
  • 闽ICP备2021006579号-4
  • 闽公网安备 35012102500470号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式