1. Python安装
目前python有2个大版本,2和3,由于2和3语法有差别,现有的许多库都是基于python2开发,本系列文章以python2为主。
1.1 重要概念
1、 动态语言
运行时绑定,变量在执行时才确定类型
变量相当于C++中的引用
可运行时修改
2、 一切都是对象
一切都是对象,包括数字、字符串、函数、列表甚至是类
1.2 Windows下的安装
1、 访问https://www.python.org/网站下载python安装版本,我使用的是2.7版本,可以下载一个名为python-2.7.8.msi的文件,其中2.7.8指最新的版本号
2、 在windows中双击下载的文件,根据安装向导进行安装即可
3、 安装完成后配置环境变量,在path中添加D:\Program Files (x86)\Python27和D:\Program Files (x86)\Python27\Scripts(在安装setup-tools后)
4、 假设安装一切正常,可以在开始菜单中找到Python-IDLE(Python GUI),打开即可看到以下界面,输入对应内容测试安装即可
1.3 Linux下升级
CentOS 6.3自带的Python版本为2.6,可以使用“python –V”查看python的版本,首先需要升级到2.7版本。由于旧版本的Python已被深度依赖,所以不能卸载原有的Python,只能全新安装。以下操作请使用root操作
1、 下载Pyhon,选择下载Gzipped source tar ball (2.7.6) (sig),网址https://www.python.org/download/releases/2.7.6
2、 解压安装,命令如下
tar –xvf Python-2.7.6.tgz
cd Python-2.7.6
./configure --prefix=/usr/local/python2.7
make
make install
3、 创建链接来使系统默认python变为python2.7
ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python
4、 查看Python版本
python –V
5、 修改yum配置(否则yum无法正常运行)
vi /usr/bin/yum
将第一行的#!/usr/bin/python修改为系统原有的python版本地址#!/usr/bin/python2.6,至此CentOS6.3系统Python已成功升级至2.7.6版本。
2. 开发环境Pycharm
Python有很多开发环境,自带的IDLE、wingIDE、sublime text等,本文介绍的是Pycharm,pycharm可以跨平台,在macos和windows下面都可以用。
1、 首先到Pycharm下载版本进行安装,我使用的是free版本,推荐购买正式版本,下载完成根据安装向导安装即可
2、 首次使用点击Create New Project。
3、 输入项目名、路径、选择python解释器。如果没有出现python解释器,点击Interpreter后面的按钮,然后选择本地安装的python的的exe即可。
4、 点击Ok,就会创建一个新项目,就可以开始你的编程学习之旅了
5、 右键单击刚建好的helloWord项目,选择New --> Python File
6、 PyCharm的默认编辑界面很怪,会自动生成一行 __author__ = “作者” 的头,输入code:print "Hello word!" ,点击菜单中的Run即可
3. Python其它库的安装
说明:1.所有另外安装的第三方库,如果不特指定安装后库目录的话,将默认保存到 %PYTHON_HOME%\Lib\site-packages下;2.python大小写敏感,对模块名也是。3.Crypto可以提供常见的加解密算法,如:RSA、RC4、DSA、DES
3.1 安装setuptools
1、 官网建议使用ez.setup.py来安装,首先先下载ez.setup.py,https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
2、 下载完成后cmd进入python的安装目录,执行操作python.exe ez_setup.py
下载完毕最新版本之后,系统会自动安装setuptools,安装完毕之后,会在python安装目录的scripts下有一个easy_install.exe可执行文件。
3.2 安装Pip
1、 Windows下安装
在命令行(cmd)下进入python安装目录的script路径下执行easy_install.exe pip即可,安装完成后在scripts下就可以看到pip.exe了
2、 Linux下安装
Pip是一个安装和管理python包的工具。安装方法如下(网址http://www.pip-installer.org/en/latest/installing.html):
(1)下载pip,地址https://raw.github.com/pypa/pip/master/contrib/get-pip.py
(2)执行安装命令
python get-pip.py
(3)创建连接(否则会报错提示“命令不存在”)
ln -s /usr/local/python2.7/bin/pip /usr/bin/pip
备注:如果连接时提示错误“ln: creating symbolic link `/usr/bin/pip': File exists”则需要手动先删除pip文件,再重新进行软连接操作即可,操作完成后可使用ll进行连接检查
3.3 windows下安装SSH模块(paramiko+pycrypto+ecdsa)
1、 安装pyCrypto
安装这个比较麻烦,需要本地编译,要装vs或gcc还有一堆配置,还不一定能编译成功。建议直接下载已编译版: http://www.voidspace.org.uk/python/modules.shtml#pycrypto直接下载并安装既可。
2、 安装ecdsa
执行命令时,提示找不到ecdsa模块。下载:https://pypi.python.org/pypi/ecdsa/0.9 ,解压到一个目录,目录中有一个setup.py。windows下直接在刚才解压后的目录执行:python setup.py install
3、 安装paramiko
与安装ecdsa类型, 下载: https://github.com/paramiko/paramiko#,安装步骤同ecdsa,解压到一个目录,目录中有一个setup.py。直接在刚才解压后的目录执行:python setup.py install
3.4 安装fabric
1、 Windows下安装
在命令行(cmd)下执行命令pip install fabric,提示OK,可能会遇到问题unable to find vcvarsall.bat,根据下面的解决方法解决该问题后,删除已经安装的文件重新执行命令,“Python\Lib\site-packages”文件夹下的文件夹fabric和Fabric-1.10.0-py2.7.egg-info。
2、 Linux下安装
(1)执行安装命令
pip install fabric
(2)创建连接(否则会报错提示“命令不存在”)
ln -s /usr/local/python2.7/bin/fab /usr/bin/fab
说明:python开发过程中会使用到很多lib,安装方法与fabric一致,使用Pip安装即可
4. 常见问题
4.1 提示python不是内部或外部命令,也不是可运行的程序或批处理文件。
因为没有配置python的环境变量导致的,配置即可
4.2 扩展问题unable to find vcvarsall.bat
使用Pip安装某个库时报unable to find vcvarsall.bat,可以在python安装路径检索出msvc9compiler.py文件,修改MSVCCompiler函数vc_env = query_vcvarsall(VERSION, plat_spec)为:vc_env = query_vcvarsall(8.0, plat_spec),或者在函数find_vcvarsall(version)前面加上version=8.0
说明:这个问题即是在注册表中找到VS的目录,再去VS目录下找vcvarsall.bat,但是python里面默认的是vc9.0,也就是vs2008,所以它在注册表里面找不到键值返回None,
productdir = Reg.get_value(r"%s/Setup/VC" % vsbase,"productdir")
vsbase值为:Software/Microsoft/VisualStudio/9.0
msvc9compiler.py中,def find_vcvarsall(version) 用于查找vcvarsall.bat version就是版本号,实际上是9.0
vc_env = query_vcvarsall(VERSION, plat_spec),VERSION = get_build_version() 因为python32自己是由vc9.0构建的所以VERSION是9.0
4.3 fab执行报错pkg_resources.DistributionNotFound: ecdsa>=0.11
需要安装ssh模块
4.4 关于Python报错:SyntaxError: Non-ASCII character '\xe5'
问题出现原因:Python默认是以ASCII作为编码方式的,如果在自己的Python源码中包含了中文 等其他字符,就会报错。
解决方法:在在源码的第一行添加以下语句,# -*- coding: UTF-8 -*- 或者 #coding=utf-8(注:此语句一定要添加在源代码的第一行)
4.5 编译报错IndentationError: expected an indented block
Python语言是一款对缩进非常敏感的语言,最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。
在编译时会出现这样的错IndentationError:expected an indented block说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。
5. 常见命令介绍
多行注释:选中需要注释的行,CTRL+/
取消多行注释:选中需要取消注释的行,CTRL+/
查看方法,按住Ctrl,直接点击函数名即可,可以看到函数定义参数的类型
6. 参考资料
http://blog.csdn.net/chenggong2dm/article/details/9365437
http://blog.csdn.net/chenggong2dm/article/details/9366805
http://blog.csdn.net/ren911/article/details/6448696
http://chenpeng.info/html/2551