1.3 Python环境搭建
Python编写的源代码要想得到运行的结果,就需要安装解释Python源代码的软件,由其翻译成机器语言并提交操作系统运行,我们通常称之为Python解释器或Python编程环境。
我们从Python官方网站https://www.python.org/的下载页面了解到目前有两个版本,即Python2.7.x与Python3.x。作为初学者,我们要学就学最新的Python3.x,目前绝大多数Python2.7.x的第三方库已经移植到Python3.x中了,如果遇到个别仅有Python2.7.x支持的,我们也可以对代码稍做修改在Python3.x下运行。本书以Python3.6.5为例,讲解在Windows系统和Linux系统下安装Python的详细步骤。
1.3.1 Windows系统下的Python安装
在Windows系统下安装Python非常简单,具体步骤如下。
(1)下载。在Python官方网站https://www.python.org/中下载Windows安装包。如果Windows操作系统是64位,对应的下载链接是https://www.python.org/ftp/python/3.6.5/python-3.6.5-amd64.exe;如果Windows操作系统是32位,对应的下载链接是https://www.python.org/ftp/python/3.6.5/python-3.6.5.exe。
(2)双击下载文件并进行安装,能选择如图1.3所示,建议都选择,无非就是多占用一点磁盘空间,对电脑性能没有任何影响。单击Next按钮后如图1.4所示,将Python添加至环境变量中,方便在命令行中快速启动Python,再单击Install按钮,等待安装完毕,如图1.5所示。其中disable path length limit表示禁用路径长度限制,是设置环境变量Path的,可忽略,单击Close按钮结束安装。
图1.3 选择功能
图1.4 将Python添加至环境变量
图1.5 安装成功
(3)验证。在cmd命令窗口输入python,并在>>>提示符后输入print(“hello python”),如果打印出“hello python”信息,就表明安装成功,输入exit()可退出Python解释器环境,在cmd命令窗口输入where python可查看python可执行文件所在的路径,如图1.6所示。
图1.6 验证安装是否成功
(4)创建虚拟环境。前三步已经把Python环境安装好了,但是在实际开发Python应用程序时可能会遇到这种情形:项目A依赖Django1.10.1,而项目B依赖Django2.0。如果不创建虚拟环境的话,运行项目A时安装Django1.10.1,运行项目B时先卸载Django1.10.1,再安装Django2.0,然后运行项目A时,再次重复操作,这样就会显得很笨拙。Python已经为您想好了解决方案——创建虚拟环境,每个项目一个独立的环境,这样井水不犯河水,合平共处,互不干扰。
Windows创建虚拟环境的方法:在cmd窗口中顺序执行以下命令(#后面表示注释,执行命令时要去掉)。
运行结果如图1.7所示。
图1.7 创建虚拟环境
提示
virtualenv是如何创建独立的Python运行环境的呢?原理很简单,就是把系统Python复制一份到虚拟环境。使用命令.\projectA_env\bin\activate.bat进入一个projectA虚拟环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的projectA虚拟环境。
1.3.2 Linux系统下的Python安装
大多数Linux系统已经预装了Python,直接在终端窗口输入python即可查看版本(见图1.8)。以Ubuntu16.04为例,运行python命令。
图1.8 Ubuntu已预装了Python2.7.12
Ubuntu16.04已经预装了Python3.5.2,如图1.9所示。
图1.9 Ubuntu已预装Python3.5.2
提示
对比图1.8和图1.9可以看出:Python 2中print是一条语句,Python 3中print是一个函数。
如果想省事,则可以直接使用Python3.5来学习;如果喜欢使用自己安装的Python,则可以按以下步骤进行操作。
步骤01 下载源代码包:wget http://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz,如图1.10所示。如果下载其他版本,直接把版本号修改一下即可。
图1.10 下载Python3.6.5
步骤02 解压源代码包。
tar -zxvf Python-3.6.5.tgz
步骤03 编译与安装。
cd Python-3.6.5 #进入解压后的目录 ./configure --prefix=/home/aaron/local/python3.6.5 #指定安装目录,一般为/usr/local, 这里改成home下的目录 make&&make install #编译并安装
提示
如果提示缺少相关的包,如zlib等,请下载后再编译安装。
步骤04 验证:输入/home/aaron/local/python3.6.5/bin/python3,并打印“hello,python3!”,如图1.11所示。
图1.11 Linux编译安装Python后验证
这样带路径的输入太长,有两种方法可以解决输入麻烦的问题。第一种是将Python3.6.5的路径/home/aaron/local/python3.6.5/bin添加到环境变量中。在terminal中顺序执行以下命令,注意#后面的内容是注释,结果如图1.12所示。
图1.12 为Python添加环境变量
第二种是建立软链接。在terminal中执行:
sudo ln -s /home/aaron/local/python3.6.5/bin/python3.6 /usr/bin/python3.6#建立 python3.6的软连接。 sudo ln -s /home/aaron/local/python3.6.5/bin/pip3.6 /usr/bin/pip3.6#建立pip3.6 的软连接。
步骤05 创建虚拟环境:在terminal中顺序执行以下语句。
which pip3.6#查看pip3.6的位置 pip3.6 install virtualenv
提示
如果这一步报/home/aaron/xxx/python3.6找不到错误,请编辑上一步路径中的pip3.6文件,将第一行改为安装路径中的python3.6,本例中为#!/home/aaron/local/python3.6.5/bin/python3.6。
如果报subprocess.CalledProcessError: Command 'lsb_release -a' returned non-zero exit status 1的错误,则执行:
ln -s /usr/share/pyshared/lsb_release.py /home/aaron/local/python3.6.5/lib/python3.6/site-packages/lsb_release.py
这一步把原有的lsb_release.py链接到我们安装的路径下,然后执行:
pip3.6 install virtualenv virtualenv -p python3.6 projectA_env source projectA_env/bin/activate
这里的-p参数表示指定Python编译器的版本,Python3.6是指向我们安装的/home/aaron/local/python3.6.5/bin/python3.6,输入
deactivate
退出projectA的虚拟环境,完整过程如图1.13所示。
图1.13 为编译安装的Python创建虚拟环境