---
layout: post
title: 写Python程序前的准备
description: 写Python程序前的准备
keywords: python
author: admin
date: 2020-08-22 15:49
category: 网络技术
tags: python
---


上一次我们了解了Python是什么,今天我们来学习Python的安装、配置,以及学习Python运行脚本的过程,为写程序做准备。

## 如何安装Python

学习Python的第一步当然是要安装Python软件了。

我们从官网[https://www.python.org/downloads/](https://www.python.org/downloads/)下载安装程序。如下图,根据你的操作系统是windows、Linux还是Mac选择对应的版本。另外,我们看到有Python 3.6.2和Python 2.7.13两种可下载。

![python版本的选择](image/py-03-01.webp)

我们当然新版本Python3.6.2。选择Python3的理由是新版本肯定有很大的改进,支持Python2不具备的特性。细节上两者的区别可参考官网的[https://wiki.python.org/moin/Python2orPython3](https://wiki.python.org/moin/Python2orPython3)。选择Python2的唯一情况是:你之前的项目是基于Python2的,需要维护老项目的脚本。

当然如果官网下载速度很慢,还是可以百度对应Python版本,然后你会看到很多网站都可以下载。

Windows平台安装Python很简单,就是双击一下安装文件。安装好后,开始菜单就有了IDE和commad line。如下图(由于windows xp最高只支持到Python3.4,下图是3.4下的截图)。

![windows安装截图](image/py-03-02.webp)

Linux平台的下载,我们选择XZ compressed source tarball,原因是XZ压缩格式文件小很多。

![linux下载安装包](image/py-03-03.webp)

安装命令如下:

```bash
xz -d Python-3.6.2.tar.xz #解压xz文件
tar -xf Python-3.6.2.tar #解压tar文件
cd Python-3.6.2 #进入源码目录
./configure --prefix=/home/abc #配置,指定安装目录
make #编译
make install #安装
```

## 如何配置环境变量

Python的环境变量设置比较简单,只需要把Python安装目录(即python.exe或python所在目录)加到PATH环境变量。Windows平台,右击"我的电脑"->"属性"->"高级"->"环境变量"->"用户环境变量",修改path,在最前面加入Python的安装目录。如下图。

![windows环境变量配置](image/py-03-04.webp)

Linux平台,根据shell类型,编辑对应的配置文件,把python安装路径增加到PATH变量。

csh,tcsh:编辑/home/abc/.cshrc或/home/abc/.tcshrc,增加

```bash
set path (/home/abc/bin $path)
```

bash: 编辑/home/abc/.bashrc,增加

```bash
export PATH = /home/abc/bin:$PATH
```

## 确认是否安装成功

Windows平台,点击开始菜单里的Python 3.4 (command line - 32 bit)或者按Win+R运行cmd.exe再输入python命令。

![windows python shell](image/py-03-05.webp)

![windows cmd line](image/py-03-06.webp)

Linux平台,打开Terminal,输入python命令。

![linux terminal](image/py-03-07.webp)

## Python是如何运行脚本的

我们的python脚本,先被编译成Byte Code,Byte Code再被Python虚拟机解释执行。所以说python是解释型语言。如下图所示。

![python compile](image/py-03-08.webp)

为了帮助理解这个过程,我们手动把py编译成pyc。编译命令如下:

```bash
python -m py_compile helloworld.py
```

![python compile](image/py-03-09.webp)

经过编译之后,自动创建了一个临时目录\_\_pycache\_\_,这个临时目录里产生了一个文件helloworld.cpython-36.pyc。这个pyc文件就是Byte Code。我们注意文件的命名,“原文件名.cpython-36.pyc”,36是编译时使用的python版本号。python在运行时,会根据源代码的修改时间来决定要不要重新编译,这样会大大加快编译速度。跟Makefile有异曲同工之处。

有些童鞋可能会问Python用了虚拟机的机制会不会速度很慢啊?
其实不用担心,因为一是Python虚拟机已经优化得很好了,二是因为我们ASIC领域的脚本也不会写得特别大。验证仿真的速度主要还是和芯片的规模和仿真模型的抽象级别有关。

准备工作已经完成,下一次,我们学习写第一个python程序。