`
ryan.liu
  • 浏览: 136414 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Python设置编码和PYTHONPATH

 
阅读更多

 

Python中的编码是个恼人的问题,第一个是文件编码,在第一行设置了#-*- coding: utf-8 -*-就可以解决。

第二个是环境编码,就是你有个中文unicode的encode或decode操作,它给你报错。

我们最不喜欢看见这段出错信息了:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)

加入这段代码在项目入口文件开头,可以解决这个问题。

import sys
try:
    reload(sys)
    sys.setdefaultencoding("utf-8")
except AttributeError:
    pass  #没起作用

或者将这段代码放在项目根目录下的sitecustomize.py文件中。

问题是python2.5之后的版本,有时不在项目开头自动加载这个文件。纠结啊,自己定义的方式自己有时不支持。

只好在入口文件加一段,确保执行sitecustomize.py

# -*- coding: utf-8 -*-

#解决Python2.5之后有时无法载入sitecustomize.py的问题
import sys
import os
sys.path = [os.getcwd()] + sys.path
import sitecustomize
reload(sitecustomize)

另外关于python的搜索路径PYTHONPATH,可以用以下方式增加一个路径到其中,比如项目根目录下的library

 

# -*- coding: utf-8 -*-

import os.path
import sys
import site

try:
    reload(sys)
    sys.setdefaultencoding("utf-8")
except AttributeError:
    pass

base_dir = os.path.dirname(os.path.abspath(__file__))
prev_sys_path = list(sys.path)

# site.addsitedir adds this directory to sys.path then scans for .pth files
# and adds them to the path too.
site.addsitedir(os.path.join(base_dir, 'library'))

# addsitedir adds its directories at the end, but we want our local stuff
# to take precedence over system-installed packages.
# See http://code.google.com/p/modwsgi/issues/detail?id=112
new_sys_path = []
for item in list(sys.path):
  if item not in prev_sys_path:
    new_sys_path.append(item)
    sys.path.remove(item)
sys.path[:0] = new_sys_path
分享到:
评论

相关推荐

    eclipse插件pydev for python

    3. **配置PATH和PYTHONPATH**: 如果有自定义库或需要添加额外的库路径,可以在PyDev的配置中设置。 通过以上步骤,你就可以在Eclipse中愉快地进行Python开发了。PyDev与Eclipse的深度集成,使得Python开发者能够...

    python官方2.6.4版本msi安装包

    1. **环境配置**:设置Python的安装路径,创建系统环境变量如`PYTHONPATH`和`PATH`,使得命令行可以全局调用Python解释器。 2. **依赖管理**:检查并安装必要的依赖项,确保Python运行时的正常。 3. **注册组件**:...

    【python】PyCharm常用设置.pdf

    在`Preferences`/`Settings` > `Editor` > `File Encodings`中,设置`IDE Encoding`和`Project Encoding`为UTF-8,确保所有文件的统一编码。 6. **代码背景颜色** 用户可以根据个人喜好自定义代码编辑区和控制台的...

    python设置环境变量的作用整理

    例如,当使用`pip install`命令安装Python包时,系统会依据`PYTHONPATH`环境变量来寻找合适的Python版本和安装路径。此外,某些第三方库在安装过程中需要知道Python的安装位置,此时环境变量也能提供必要的指引。 ...

    python设置环境变量的作用和实例

    Python设置环境变量是编程实践中非常重要的一步,尤其是在安装和配置Python环境时。环境变量是用来存储信息的变量,这些信息可以在操作系统级别的不同程序间共享。在Python中,它们对解释器的行为有着直接影响,允许...

    eclipse下开发python1

    在上述的Python Interpreter设置界面,点击“Environment”标签页,可以添加新的环境变量,例如`PYTHONPATH`,指向你自定义的Python库目录。 3. Perspective and View Perspective(透视图)是Eclipse的一种工作...

    python 官方快速教程

    - 环境变量设置,如`PYTHONPATH`的作用。 ##### 3. An Informal Introduction to Python(Python非正式入门) - **3.1 Using Python as a Calculator**(将Python用作计算器) - 使用Python执行基本的数学运算。...

    【python】PyCharm常用设置.docx

    5. **文件默认编码**:在`Settings` > `Editor` > `File Encodings`中,设置IDE、项目和文件的默认编码为`UTF-8`,这有助于保证跨平台的文件一致性。 6. **代码背景颜色**:你可以自定义代码编辑区和控制台的背景...

    python标准库对象导入语句-python基础教程总结9-模块,包,标准库.pdf

    `sys.path`是一个包含所有可能的模块路径的列表,它默认包含当前目录、Python安装目录、PYTHONPATH环境变量所指定的路径等。搜索顺序遵循列表中的顺序,通常当前目录的优先级最高。例如: ```python import sys ...

    基于python全局设置id 自动化测试元素定位过程解析

    根据文件内容,本文知识点主要包括...通过以上详细解析,我们可以看到基于Python的全局设置id自动化测试元素定位过程的复杂性和实用性。熟练掌握这些知识点,将有助于进行更高效、更稳定、更易于维护的自动化测试工作。

    python 目录结构

    在Python编程中,目录结构(也称为文件夹结构或项目结构)是组织代码的重要部分,尤其是在大型项目中。良好的目录结构有助于保持代码...记得在实际项目中,遵循良好的编码规范和目录结构,可以使代码更易于理解和维护。

    python面试题(含答案).docx

    13. **安装Python和设置路径变量**: - 下载Python安装包,安装后,在系统环境变量中添加PYTHONPATH以配置Python的搜索路径。 14. **缩进**: - 缩进是Python代码块的标识,使用空格或制表符实现,通常推荐使用4...

    Python入门教程:超详细1小时学会Python.docx

    此外,还需要配置`sys.path`来包含这些包的路径,可以通过设置环境变量`PYTHONPATH`或在代码中直接修改`sys.path`来实现。 #### 十二、总结 本教程旨在帮助初学者快速上手Python编程,介绍了从环境搭建到基本编程...

    python3.4 tutorial指导手册英文版

    - **环境变量的作用**:解释环境变量(如 PYTHONPATH)对于 Python 运行的影响,以及如何正确配置这些变量以优化 Python 的性能和功能。 #### 三、Python 入门介绍 (An Informal Introduction to Python) ##### ...

    Python常见问题_python_常见问题_

    本文将深入探讨一些Python编程中常见的问题及其解决办法,旨在帮助初学者和经验丰富的程序员更好地理解和处理这些问题。 1. **缩进错误**:Python中,代码块的组织是通过缩进来实现的。一个常见的问题是忘记或错误...

    Python入门 PythonTutorial

    - **变量与路径**:解释环境变量(如`PYTHONPATH`)的作用及设置方法。 #### 三、An Informal Introduction to Python(Python非正式入门) - **Using Python as a Calculator**:利用Python作为计算器进行基本...

    VSCode基础使用与VSCode调试python程序入门的图文教程.pdf

    这将帮助你在编写Python代码时实时检查语法错误和编码规范。 为了美化VSCode界面,可以更换文件图标主题。在“文件”>“首选项”>“文件图标主题”中选择“Seti (Visual Studio Code)”或其他主题。另外,可以安装...

Global site tag (gtag.js) - Google Analytics