Python安装与配置

1. Python安装

//配置yum源
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
[root@localhost yum.repos.d]# sed -i 's/\$releasever/7/g' /etc/yum.repos.d/CentOS7-Base-163.repo
[root@localhost yum.repos.d]# sed -i 's/^enabled=.*/enabled=1/g' /etc/yum.repos.d/CentOS7-Base-163.repo
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum -y install epel-release

//下载Python程序源码包
[root@localhost ~]# cd /usr/src/
[root@localhost src]# wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz
[root@localhost src]# ls
debug  kernels  Python-3.7.3.tar.xz

//安装编译器与依赖包
[root@localhost src]# yum -y install gcc gcc-c++ make zlib-devel libffi-devel openssl openssl-devel bzip2 bzip2-devel vim readline-devel ncurses-devel sqlite-devel gdbm-devel xz-devel tk-devel

//编译安装
[root@localhost Python-3.7.3]# ./configure --prefix=/usr/local/python37
[root@localhost Python-3.7.3]# make
[root@localhost Python-3.7.3]# make install

//安装后配置
[root@localhost ~]# ls /usr/local/python37/
bin  include  lib  share
[root@localhost ~]# echo 'export PATH=/usr/local/python37/bin:$PATH' > /etc/profile.d/py3.sh
[root@localhost ~]# source /etc/profile.d/py3.sh 
[root@localhost ~]# echo $PATH 
/usr/local/python37/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# which python3
/usr/local/python37/bin/python3
[root@localhost ~]# pip3.7 install --upgrade pip

2. 执行Python程序的方式

在这里插入图片描述
Python的源代码表现为.py文件。

Python程序在第一次执行时,自动通过Compiler模块将源代码编译成.pyc后缀的bytecode(字节码)文件,之后由python解释器(PVM,Interpreter)读取bytecode文件然后在处理器(processor)中运行。

pyc是一种二进制文件,是由py文件经过编译后生成的文件,是一种bytecode,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机(PVM)来执行的。pyc的内容是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的python是无法执行的。

那么为什么需要pyc文件呢?

除了能够提高加载速度外,为了防止源码泄漏,是很有必要将源代码编译成pyc文件的,因为py文件可以直接看到源码,而很多商业软件是不可能公开源码的。

需要注意的是,Python自动通过Compiler模块编译源代码之后的.pyc文件在程序执行完以后会自动删除。如果需要手动生成.pyc文件,可以这样操作:

[root@localhost ~]# mkdir /opt/py
[root@localhost ~]# cd /opt/py/
[root@localhost py]# vim 1.py 
#!/usr/bin/env python3.7
print('hello world')
[root@localhost py]# vim 2.py
#/usr/bin/env python3.7
import py_compile
py_compile.compile('1.py')
[root@localhost py]# ls
1.py  2.py
[root@localhost py]# python3.7
python3.7          python3.7m         
python3.7-config   python3.7m-config  
[root@localhost py]# python3.7 2.py 
[root@localhost py]# ls
1.py  2.py  __pycache__
[root@localhost py]# ls __pycache__/
1.cpython-37.pyc

可以通过两种方式来执行Python代码:

  • 交互式解释器
  • Python程序文件
//交互式解释器
[root@localhost ~]# python3.7
Python 3.7.3 (default, Oct 25 2019, 12:11:48) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 4+5    //计算4+5的值
9               //结果
>>> exit()

//python程序文件执行
[root@localhost ~]# cd /opt/py/
[root@localhost py]# vim 3.py 
#!/usr/bin/env python3.7
print(4+5)    //计算4+5的值并将其结果打印出来
[root@localhost py]# python3.7 3.py 
9      //结果

交互式解释器与Python程序文件的利弊:

  • 交互式模式下的程序执行完后难以再次运行,但是执行的代码可以立马看到效果;
  • 将编写的程序保存至文件(.py)中可以方便多次运行,但无法立马看到执行效果。

Python的程序文件分类:

  • 包含一系列预编写好的语句的程序文件称作“模块”;
  • 能够直接运行的模块文件通常称作脚本(即程序的顶层文件)

3. Python程序文件结构

Python的源程序文件通常以.py为扩展名。

[root@localhost py]# vim pycode.py
#!/usr/bin/env python3.7    //shebang

import platform             //导入模板
print(platform.uname())     //执行模板的uname()方法

第一行为shebang,即执行脚本时通知内核要启动的解释器

  • 如果脚本文件中没有这一行,那么它执行时会默认用当前shell(即:$SHELL环境变量)去解释这个脚本;
  • 如果#!之后的解释程序是一个可执行文件,那么执行这个脚本时,它就会把文件名及其参数一起作为参数传给这个解释程序去执行。
  • 如果#!之后的解释程序不是一个可执行文件,那么指定的解释程序会被忽略,转而交给当前的SHELL去执行这个脚本。
  • 如果#!指定的解释程序不存在,则会报错“bad interpreter: No such file or directory”
  • 如果#!指定的解释程序没有可执行权限,则会报错“bad interpreter: Permission denied”
    注意:#!之后的解释程序,必须写绝对路径,它是不会自动到$PATH中寻找解释器的

第二行通过import导入一个python模块platform。
第三行打印platform模块的uname方法的执行结果。

[root@localhost py]# chmod +x pycode.py 
[root@localhost py]# ls -l pycode.py 
-rwxr-xr-x. 1 root root 66 10月 25 13:30 pycode.py
[root@localhost py]# ./pycode.py     //另一种执行方式
uname_result(system='Linux', node='localhost.localdomain', release='3.10.0-957.el7.x86_64', version='#1 SMP Thu Nov 8 23:39:32 UTC 2018', machine='x86_64', processor='x86_64') 

python程序的组成:python程序可以分解成模块、语句、表达式和对象

  • 程序由模块构成;
  • 模块包含语句;
  • 语句包含表达式;
  • 表达式建立并处理对象

表达式是“某事”,而语句是“做某事(即指令)”,例如,“3+4”是某事,而“print(3+4)”则是做某事。

语句的特性:它们改变了事物,例如,赋值语句改变了变量,print语句改变了屏幕输出等

4. IDE

常见的IDE有以下几种:

  • vim(小白和大牛)
  • Eclipse(JAVA IDE,支持Java、python、c、c++等)
  • Visual Studio(微软IDE)
  • notepad++
  • sublime
  • pycharm

5. PyCharm配置

创建项目
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
设置默认Python编辑器
点击左上方的 File,选择 Settings
在这里插入图片描述
添加远程Linux主机的Python解释器
点击左上方的 File,选择 Settings
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
远程Linux主机成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值