Python设置细节
Windows下python环境变量配置
默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量。此时不能在命令行直接使用python命令。
1.首先需要在系统中注册python环境变量:假设python的安装路径为c:\python2.6,则修改我的电脑->属性->高级->环境变量->系统变量中的PATH为:
(为了在命令行模式下运行Python命令,需要将python.exe所在的目录附加到PATH这个环境变量中。)
PATH=PATH;c:\python26
上述环境变量设置成功之后,就可以在命令行直接使用python命令。或执行"python*.py"运行python脚本了。
2.此时,还是只能通过"python*.py"运行python脚本,若希望直接运行*.py,只需再修改另一个环境变量PATHEXT:
PATHEXT=PATHEXT;.PY;.PYM
3.另外,在使用python的过程中,可能需要经常查看某个命令的帮助文档,如使用help('print')查看print命令的使用说明。默认安装的python无法查看帮助文档,尚需进行简单的配置:
在python安装目录下,找到python25.chm,使用
hh-decompile.python26.chm
将其反编译出来,然后将其所在的目录加入到上面提到的PATH环境变量中即可。
4.如何使Python解释器能直接import默认安装路径以外的第三方模块?
为了能import默认安装路径以外的第三方的模块(如自己写的模块),需要新建PYTHONPATH环境变量,值为这个模块所在的目录。
Python设置系统默认编码
Python
python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError:'ascii'codeccan'tdecodebyte0x??inposition1:ordinalnotinrange(128),python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。
查询系统默认编码可以在解释器中输入以下命令:
Python代码
>>>sys.getdefaultencoding()
设置默认编码时使用:
Python代码
>>>sys.setdefaultencoding('utf8')
可能会报AttributeError:'module'objecthasnoattribute'setdefaultencoding'的错误,执行reload(sys),在执行以上命令就可以顺利通过。
此时在执行sys.getdefaultencoding()就会发现编码已经被设置为utf8的了,但是在解释器里修改的编码只能保证当次有效,在重启解释器后,会发现,编码又被重置为默认的ascii了,那么有没有办法一次性修改程序或系统的默认编码呢。
有2种方法设置python的默认编码:
一个解决的方案在程序中加入以下代码:
Python代码
importsys
reload(sys)
sys.setdefaultencoding('utf8')
另一个方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为:
Python代码
#encoding=utf8
importsys
reload(sys)
sys.setdefaultencoding('utf8')
此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文件,设置系统的默认编码,而不需要每次都手动的加上解决代码,属于一劳永逸的解决方法。
另外有一种解决方案是在程序中所有涉及到编码的地方,强制编码为utf8,即添加代码encode("utf8"),这种方法并不推荐使用,因为一旦少写一个地方,将会导致大量的错误报告,我曾经遇到这种情况,错误日志压缩之后尚有70多K,全都是这一个问题,让人有很崩溃的感觉。
以上内容为大家介绍了Python设置细节,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:开发教育。http://www.baikegou.com/
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!