ExASIC
分享让工作更轻松

写Python程序前的准备

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

如何安装Python

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

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

python版本的选择

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

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

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

windows安装截图

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

linux下载安装包

安装命令如下:

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环境变量配置

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

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

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

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

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

确认是否安装成功

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

windows python shell

windows cmd line

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

linux terminal

Python是如何运行脚本的

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

python compile

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

python -m py_compile helloworld.py

python compile

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

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

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

阅读数:
更多文章:文章目录
解惑专区
(支持markdown插入源代码)
欢迎使用ExASIC订阅服务
仅用于ExASIC最新文章通知,方便及时阅读。
友情链接: IC技术圈问答ReCclayCrazyFPGA