Python学习进程(2)Python环境的搭建
本节主要介绍在windows和Linux平台上如何搭建Python编程环境。
(1)查看Python版本:
windows: C:\Users\JMSun>python 'python' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 Unbuntu: sunjimeng@SJM:~$ python Python 2.7.6 (default, Mar 22 2014, 22:59:56)
目前最新版本是3.5x,因此两个平台的Python环境都需要配置。
(2)配置Python编程环境:
windows平台:
1.下载Python for windows软件; 2.安装软件并选择自动配置环境变量; 也可以选择手动配置环境变量: 在path中添加安装软件的路径,和软件根目录的script目录。 例如:E:\Python\Scripts;E:\Python;
测试:
C:\Users\JMSun>python Python 3.6.0a2 (v3.6.0a2:378893423552, Jun 14 2016, 01:01:16) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> print('Python 环境已经成功配置!') Python 环境已经成功配置!
Unbuntu平台:
(1)下载python for Linux:Python-3.5.2.tgz;
(2)拷贝到Unbuntu系统中,一般是在桌面;
(3)查看此文件:
sunjimeng@SJM:~/桌面$ ll 总用量 20096 drwxr-xr-x 2 sunjimeng sunjimeng 4096 7月 17 11:03 ./ drwxr-xr-x 20 sunjimeng sunjimeng 4096 7月 17 10:23 ../ -rwxrw-rw- 1 sunjimeng sunjimeng 20566643 7月 14 22:54 Python-3.5.2.tgz*
(4)解压到当前文件夹:tar -zxvf Python-3.5.3.tgz*:
sunjimeng@SJM:~/桌面$ ll 总用量 20100 drwxr-xr-x 3 sunjimeng sunjimeng 4096 7月 17 11:20 ./ drwxr-xr-x 20 sunjimeng sunjimeng 4096 7月 17 10:23 ../ drwxrwxr-x 16 sunjimeng sunjimeng 4096 6月 26 05:38 Python-3.5.2/ -rwxrw-rw- 1 sunjimeng sunjimeng 20566643 7月 14 22:54 Python-3.5.2.tgz*
(5)查看Python-3.5.2.tgz*下的文件:
sunjimeng@SJM:~/桌面$ ls -l Python-3.5.2 总用量 1008 -rw-r--r-- 1 sunjimeng sunjimeng 8464 6月 26 05:38 aclocal.m4 -rwxr-xr-x 1 sunjimeng sunjimeng 42856 6月 26 05:38 config.guess -rwxr-xr-x 1 sunjimeng sunjimeng 35740 6月 26 05:38 config.sub -rwxr-xr-x 1 sunjimeng sunjimeng 474932 6月 26 05:38 configure -rw-r--r-- 1 sunjimeng sunjimeng 155069 6月 26 05:38 configure.ac drwxrwxr-x 18 sunjimeng sunjimeng 4096 6月 26 05:47 Doc drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 Grammar drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 Include -rwxr-xr-x 1 sunjimeng sunjimeng 7122 6月 26 05:38 install-sh drwxrwxr-x 46 sunjimeng sunjimeng 12288 6月 26 05:38 Lib -rw-r--r-- 1 sunjimeng sunjimeng 12767 6月 26 05:38 LICENSE drwxrwxr-x 8 sunjimeng sunjimeng 4096 6月 26 05:38 Mac -rw-r--r-- 1 sunjimeng sunjimeng 58449 6月 26 05:38 Makefile.pre.in drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 Misc drwxrwxr-x 11 sunjimeng sunjimeng 4096 6月 26 05:38 Modules drwxrwxr-x 4 sunjimeng sunjimeng 4096 6月 26 05:38 Objects drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 Parser drwxrwxr-x 4 sunjimeng sunjimeng 4096 6月 26 05:38 PC drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 PCbuild drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 Programs -rw-r--r-- 1 sunjimeng sunjimeng 41897 6月 26 05:38 pyconfig.h.in drwxrwxr-x 3 sunjimeng sunjimeng 4096 6月 26 05:38 Python -rw-r--r-- 1 sunjimeng sunjimeng 8060 6月 26 05:38 README -rw-r--r-- 1 sunjimeng sunjimeng 99778 6月 26 05:38 setup.py drwxrwxr-x 22 sunjimeng sunjimeng 4096 6月 26 05:38 Tools
(6)在Python的根目录下运行./configure(主要目的:生成编译安装文件makefile):
执行后:
sunjimeng@SJM:~/桌面/Python-3.5.2$ ll 总用量 2048 drwxrwxr-x 16 sunjimeng sunjimeng 4096 7月 17 11:23 ./ drwxr-xr-x 3 sunjimeng sunjimeng 4096 7月 17 11:20 ../ -rw-r--r-- 1 sunjimeng sunjimeng 8464 6月 26 05:38 aclocal.m4 -rwxr-xr-x 1 sunjimeng sunjimeng 42856 6月 26 05:38 config.guess* -rw-rw-r-- 1 sunjimeng sunjimeng 836282 7月 17 11:23 config.log -rwxrwxr-x 1 sunjimeng sunjimeng 40079 7月 17 11:23 config.status* -rwxr-xr-x 1 sunjimeng sunjimeng 35740 6月 26 05:38 config.sub* -rwxr-xr-x 1 sunjimeng sunjimeng 474932 6月 26 05:38 configure* -rw-r--r-- 1 sunjimeng sunjimeng 155069 6月 26 05:38 configure.ac drwxrwxr-x 18 sunjimeng sunjimeng 4096 6月 26 05:47 Doc/ drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 Grammar/ drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 Include/ -rwxr-xr-x 1 sunjimeng sunjimeng 7122 6月 26 05:38 install-sh* drwxrwxr-x 46 sunjimeng sunjimeng 12288 6月 26 05:38 Lib/ -rw-r--r-- 1 sunjimeng sunjimeng 12767 6月 26 05:38 LICENSE drwxrwxr-x 8 sunjimeng sunjimeng 4096 6月 26 05:38 Mac/ -rw-rw-r-- 1 sunjimeng sunjimeng 66432 7月 17 11:23 Makefile -rw-rw-r-- 1 sunjimeng sunjimeng 58186 7月 17 11:23 Makefile.pre -rw-r--r-- 1 sunjimeng sunjimeng 58449 6月 26 05:38 Makefile.pre.in drwxrwxr-x 2 sunjimeng sunjimeng 4096 7月 17 11:23 Misc/ drwxrwxr-x 11 sunjimeng sunjimeng 4096 7月 17 11:23 Modules/ drwxrwxr-x 4 sunjimeng sunjimeng 4096 6月 26 05:38 Objects/ drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 Parser/ drwxrwxr-x 4 sunjimeng sunjimeng 4096 6月 26 05:38 PC/ drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 PCbuild/ drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 Programs/ -rw-rw-r-- 1 sunjimeng sunjimeng 43896 7月 17 11:23 pyconfig.h -rw-r--r-- 1 sunjimeng sunjimeng 41897 6月 26 05:38 pyconfig.h.in drwxrwxr-x 3 sunjimeng sunjimeng 4096 6月 26 05:38 Python/ -rw-r--r-- 1 sunjimeng sunjimeng 8060 6月 26 05:38 README -rw-r--r-- 1 sunjimeng sunjimeng 99778 6月 26 05:38 setup.py drwxrwxr-x 22 sunjimeng sunjimeng 4096 6月 26 05:38 Tools/
注意: configure 命令执行完之后,会生成一个 Makefile 文件,这个 Makefile主要是被下一步的 make 命令所使用。打开 Makefile你就会发现,里边制定了构建的顺序, Linux 需要按照Makefile 所指定的顺序来构建 (build) 程序组件。
(7)执行make命令
执行后:
sunjimeng@SJM:~/桌面/Python-3.5.2$ ll 总用量 35072 drwxrwxr-x 17 sunjimeng sunjimeng 4096 7月 17 11:53 ./ drwxr-xr-x 3 sunjimeng sunjimeng 4096 7月 17 11:33 ../ -rw-r--r-- 1 sunjimeng sunjimeng 8464 6月 26 05:38 aclocal.m4 drwxrwxr-x 5 sunjimeng sunjimeng 4096 7月 17 11:52 build/ -rwxr-xr-x 1 sunjimeng sunjimeng 42856 6月 26 05:38 config.guess* -rw-rw-r-- 1 sunjimeng sunjimeng 836282 7月 17 11:50 config.log -rwxrwxr-x 1 sunjimeng sunjimeng 40079 7月 17 11:50 config.status* -rwxr-xr-x 1 sunjimeng sunjimeng 35740 6月 26 05:38 config.sub* -rwxr-xr-x 1 sunjimeng sunjimeng 474932 6月 26 05:38 configure* -rw-r--r-- 1 sunjimeng sunjimeng 155069 6月 26 05:38 configure.ac drwxrwxr-x 18 sunjimeng sunjimeng 4096 6月 26 05:47 Doc/ drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 Grammar/ drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 Include/ -rwxr-xr-x 1 sunjimeng sunjimeng 7122 6月 26 05:38 install-sh* drwxrwxr-x 47 sunjimeng sunjimeng 12288 7月 17 11:52 Lib/ -rw-rw-r-- 1 sunjimeng sunjimeng 21297944 7月 17 11:52 libpython3.5m.a -rw-r--r-- 1 sunjimeng sunjimeng 12767 6月 26 05:38 LICENSE drwxrwxr-x 8 sunjimeng sunjimeng 4096 6月 26 05:38 Mac/ -rw-rw-r-- 1 sunjimeng sunjimeng 66432 7月 17 11:50 Makefile -rw-rw-r-- 1 sunjimeng sunjimeng 58186 7月 17 11:50 Makefile.pre -rw-r--r-- 1 sunjimeng sunjimeng 58449 6月 26 05:38 Makefile.pre.in drwxrwxr-x 2 sunjimeng sunjimeng 4096 7月 17 11:50 Misc/ drwxrwxr-x 11 sunjimeng sunjimeng 4096 7月 17 11:52 Modules/ drwxrwxr-x 4 sunjimeng sunjimeng 4096 7月 17 11:51 Objects/ drwxrwxr-x 2 sunjimeng sunjimeng 4096 7月 17 11:51 Parser/ drwxrwxr-x 4 sunjimeng sunjimeng 4096 6月 26 05:38 PC/ drwxrwxr-x 2 sunjimeng sunjimeng 4096 6月 26 05:38 PCbuild/ drwxrwxr-x 2 sunjimeng sunjimeng 4096 7月 17 11:52 Programs/ -rw-rw-r-- 1 sunjimeng sunjimeng 26 7月 17 11:52 pybuilddir.txt -rw-rw-r-- 1 sunjimeng sunjimeng 43896 7月 17 11:50 pyconfig.h -rw-r--r-- 1 sunjimeng sunjimeng 41897 6月 26 05:38 pyconfig.h.in -rwxrwxr-x 1 sunjimeng sunjimeng 12436473 7月 17 11:52 python* drwxrwxr-x 3 sunjimeng sunjimeng 4096 7月 17 11:52 Python/ -rw-rw-r-- 1 sunjimeng sunjimeng 3080 7月 17 11:53 python-config -rw-rw-r-- 1 sunjimeng sunjimeng 2042 7月 17 11:53 python-config.py -rw-r--r-- 1 sunjimeng sunjimeng 61170 7月 17 11:52 python-gdb.py -rw-r--r-- 1 sunjimeng sunjimeng 8060 6月 26 05:38 README -rw-r--r-- 1 sunjimeng sunjimeng 99778 6月 26 05:38 setup.py drwxrwxr-x 22 sunjimeng sunjimeng 4096 6月 26 05:38 Tools/
注意:make实际上编译你的源代码,并生成执行文件。
(8)再执行make install命令(需要root权限)
注意:make install实际上是把生成的执行文件拷贝到linux系统中必要的目录下,比如拷贝到/usr/local/bin目录下,这样所有user就都能运行这个程序了:
root@SJM:/# ls -l /usr/local/bin 总用量 24316 lrwxrwxrwx 1 root root 8 7月 17 12:04 2to3 -> 2to3-3.5 -rwxr-xr-x 1 root root 101 7月 17 12:04 2to3-3.5 lrwxrwxrwx 1 root root 7 7月 17 12:04 idle3 -> idle3.5 -rwxr-xr-x 1 root root 99 7月 17 12:04 idle3.5 lrwxrwxrwx 1 root root 8 7月 17 12:04 pydoc3 -> pydoc3.5 -rwxr-xr-x 1 root root 84 7月 17 12:04 pydoc3.5 lrwxrwxrwx 1 root root 9 7月 17 12:04 python3 -> python3.5 -rwxr-xr-x 2 root root 12436473 7月 17 12:04 python3.5 lrwxrwxrwx 1 root root 17 7月 17 12:04 python3.5-config -> python3.5m-config -rwxr-xr-x 2 root root 12436473 7月 17 12:04 python3.5m -rwxr-xr-x 1 root root 3080 7月 17 12:04 python3.5m-config lrwxrwxrwx 1 root root 16 7月 17 12:04 python3-config -> python3.5-config lrwxrwxrwx 1 root root 10 7月 17 12:04 pyvenv -> pyvenv-3.5 -rwxr-xr-x 1 root root 236 7月 17 12:04 pyvenv-3.5
用which命令查询老的版本在/usr/bin目录下:
root@SJM:/usr/local/lib# which python /usr/bin/python root@SJM:/usr/local/lib# cd /usr/bin root@SJM:/usr/bin# find -name "python*" ./python3 ./python3.4 ./python2 ./python ./python2.7 ./python3m ./python3.4m //并没有新的python3.5版本
然后在/usr/local/lib目录下发现有新的版本:
root@SJM:/# ls -l /usr/local/lib 总用量 20816 -r-xr-xr-x 1 root root 21297944 7月 17 12:04 libpython3.5m.a drwxr-xr-x 2 root root 4096 7月 17 12:04 pkgconfig drwxrwsr-x 4 root staff 4096 7月 23 2014 python2.7 drwxrwsr-x 3 root staff 4096 7月 23 2014 python3.4 drwxr-xr-x 36 root root 4096 7月 17 12:04 python3.5
测试:(默认依然是2.7的版本)
root@SJM:/# python Python 2.7.6 (default, Mar 22 2014, 22:59:56) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> exit() root@SJM:/# python2.7 Python 2.7.6 (default, Mar 22 2014, 22:59:56) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> exit() root@SJM:/# python3.4 Python 3.4.0 (default, Apr 11 2014, 13:05:11) [GCC 4.8.2] on linux Type "help", "copyright", "credits" or "license" for more information. >>> exit() root@SJM:/# python3.5 Python 3.5.2 (default, Jul 17 2016, 11:52:15) [GCC 4.8.4] on linux Type "help", "copyright", "credits" or "license" for more information. >>> exit() root@SJM:/# python3.5 Python 3.5.2 (default, Jul 17 2016, 11:52:15) [GCC 4.8.4] on linux Type "help", "copyright", "credits" or "license" for more information. >>> print("Unbuntu下测试新的Python版本") Unbuntu下测试新的Python版本
(3)用python解释执行.py文件:
sunjimeng@SJM:~/文档$ touch text.py sunjimeng@SJM:~/文档$ vi text.py sunjimeng@SJM:~/文档$ cat text.py for i in range(10): print('我在学习Python') sunjimeng@SJM:~/文档$ python3.5 text.py 我在学习Python 我在学习Python 我在学习Python 我在学习Python 我在学习Python 我在学习Python 我在学习Python 我在学习Python 我在学习Python 我在学习Python
至此Python新版本编程环境配置完成!