Python 学习手册

浏览53849
更新时间2022-04-15

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' codec can't decode byte 0x?? in position 1: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。

查询系统默认编码可以在解释器中输入以下命令:

Python代码
  1. >>>sys.getdefaultencoding()

设置默认编码时使用:

Python代码
  1. >>>sys.setdefaultencoding('utf8')

 可能会报AttributeError: 'module' object has no attribute 'setdefaultencoding'的错误,执行reload(sys),在执行以上命令就可以顺利通过。

此时在执行sys.getdefaultencoding()就会发现编码已经被设置为utf8的了,但是在解释器里修改的编码只能保证当次有效,在重启解释器后,会发现,编码又被重置为默认的ascii了,那么有没有办法一次性修改程序或系统的默认编码呢。

 

有2种方法设置python的默认编码:

一个解决的方案在程序中加入以下代码:

Python代码
import sys  
reload(sys)  
sys.setdefaultencoding('utf8')

 另一个方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为:

Python代码
# encoding=utf8  
import sys  
  
reload(sys)  
sys.setdefaultencoding('utf8')

此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文件,设置系统的默认编码,而不需要每次都手动的加上解决代码,属于一劳永逸的解决方法。

 

另外有一种解决方案是在程序中所有涉及到编码的地方,强制编码为utf8,即添加代码encode("utf8"),这种方法并不推荐使用,因为一旦少写一个地方,将会导致大量的错误报告,我曾经遇到这种情况,错误日志压缩之后尚有70多K,全都是这一个问题,让人有很崩溃的感觉。


python的urllib里面设置超时信息


由于python的urllib里面没有直接设置超时的方法,因此需要设置python的socket超时信息
所以:
import socket

import urllib

socket.setdefaulttimeout(9.0)

try:

content =  urllib.urlopen(url).read()

exception socket.timeout:

pass


这样在urllib打开网页超时以后会抛出一个socket.timeout的异常,只需把这个异常catch出来处理就可以了。


Windows 7 为python设置全局路径

  1. 从“开始”菜单选择“电脑”
  2. 从上下文菜单选择“系统属性”
  3. 单击“高级系统设置 > 高级”选项卡
  4. 单击“环境变量”,然后在“系统变量”下找到 PATH 并单击。
  5. 在“编辑”窗口中,通过将类的位置添加到 PATH 的值来修改 PATH。如果没有项 PATH,可以选择添加新变量,然后添加 PATH 作为名称,添加python(python.exe)安装位置作为值。例如安装在D:\python2.7
  6. 再次打开“命令”提示窗口,然后运行 python。

相关视频

更多

免费

php8,我来也
初级php8,我来也

321938次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

382544次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

283111次学习

收藏

免费

简单聊聊PHP创业那点事
初级简单聊聊PHP创业那点事

13419次学习

收藏
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号