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相关知识,请关注我们http://www.mobiletrain.org/

推荐阅读

    linux全部进程命令?

    linux全部进程命令?,系统,地址,软件,工作,情况,进程,命令,信息,实时,标准,Lin

    linux命令连接网站?

    linux命令连接网站?,网络,系统,信息,地址,名称,密码,设备,软件,网站,工具,Lin

    linux命令大全换页?

    linux命令大全换页?,设备,情况,系统,命令,发行,网上,信息,灵活,终端,快捷键,l

    用linux命令新增磁盘?

    用linux命令新增磁盘?,系统,信息,设备,管理,工作,数据,号码,新增,代码,业务,

    linux一个命令多选项?

    linux一个命令多选项?,系统,标准,设备,密码,软件,适当,命令,用户,用户组,操

    linux清空信息的命令?

    linux清空信息的命令?,信息,系统,设备,情况,命令,暂停,状态,发行,数字,文件,L

    红帽子linux命令行?

    红帽子linux命令行?,服务,密码,系统,公司,软件,信息,设备,命令,终端,用户,红

    神马linux复制命令?

    神马linux复制命令?,系统,位置,基本知识,命令,文件,名称,环境,工作,目录,源

    linux存文件的命令?

    linux存文件的命令?,系统,工作,名称,标准,信息,管理,数据,命令,文件,传播,lin

    linux分区查看命令行?

    linux分区查看命令行?,系统,信息,工具,情况,设备,号码,分区,环境,技术,首次,l

    linux系统名称命令?

    linux系统名称命令?,系统,工作,地址,管理,信息,标准,名称,网络,命令,目录,Lin

    linux系统命令行在?

    linux系统命令行在?,系统,地址,工作,管理,信息,工具,最新,密码,首页,标准,怎

    linux日常运维命令?

    linux日常运维命令?,工作,地址,系统,管理,网络,标准,命令,工具,软件,数据,lin

    linux命令选项分类?

    linux命令选项分类?,系统,工作,命令,管理,发行,时间,地址,目录,公司,标准,Lin

    查找目录命令linux?

    查找目录命令linux?,标准,系统,名称,命令,数据,位置,文件,工作,时间,信息,lin

    修改linux命令简写?

    修改linux命令简写?,系统,时间,密码,命令,工作,环境,城市,信息,名称,文件,lin

    linux复制内容命令?

    linux复制内容命令?,系统,文件,目录,命令,源文件,目标,选项,文件夹,参数,存

    linux延迟关机命令?

    linux延迟关机命令?,系统,时间,信息,命令,银河,名称,工作,用户,方式,终端,让L

    linux解压rar文件命令?

    linux解压rar文件命令?,电脑,标准,文件,命令,系统,管理,名称,文件夹,目录,文

    linux删除lv的命令?

    linux删除lv的命令?,管理,数据,服务,系统,环境,大规模,检测,位置,设计,单位,L