python使用遇到的问题

1.unicodedecodeerror ascii codec cant decode byte 0xd7 in position 9 ordinal not in range(128)

  修改mimetypes.py文件,路径位于python的安装路径下的Lib\mimetypes.py文件。在import下添加如下几行:

     if sys.getdefaultencoding()!='gbk':

         reload(sys)

          sys.setdefaultencoding('gbk')

编码知识:gbk支持汉字,繁体汉字,日文

                    Unicode试过及组织制定的可以容纳世界上所有文字和符号的字符编码方案:UTF-8,UTF-16,UTF-32

              windows下cmd默认是gbk,linux下默认是utf-8,

            Linux修改编码方法:

     方法一: Vi/etc/sysconfig/i18n

          默认为:

             LANG=en_US.UTF-8

             SYSFONT=latarcyrheb-sun16

          修改为:

            LANG=zh_CN.GBK

            SUPPORTED=zh_CH.UTF-8:zh_CH:zh

            SYSFONT=latarcyrheb-sun16

                方法二:vi/etc/profile   

         export LC_ALL=zh_CN.GBK

         export LANG=zh_CN.GBK

        LINUX修改完profile文件之后,要source一下 : Source/etc/profile


2. python2和python3安装在一起启动pip的方法

     python-m pip install package_name


3.pip安装lxml报错error: Unable tofind vcvarsall.bat

   解决办法:1.安装wheel     python -m pip install wheel

                       2.可能是包的位数出问题了,安装了32位的python在64位电脑上用pip会自动选择64位的lxml


4.安装指定版本的包

        pip list或者pip freeze可以查看已经安装的包

        pip install PIL==1.1.7

       通过使用== >= <= > <来指定版本,不写则安装最新版

      pip相关命令:

            卸载包:pipuninstall <包名 pip uninstall -r requirements.txt

            升级包:pipinstall -U <包名>或:pipinstall <包名> --upgrade

            升级pip:pip install -U pip

            显示包所在的目录:pipshow -f <包名>

            搜索包:pipsearch <搜索关键字>

            查询可升级的包:pip list -o

           下载包而不安装:pip install <包名> -d <目录 pip install -d <目录> -rrequirements.txt

           打包:pipwheel <包名>

             国内的pip镜像:
  • V2EX:pypi.v2ex.com/simple
  • 豆瓣:http://pypi.douban.com/simple
  • 中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/
            指定一次安装源: pip install < 包名 > -i http://pypi.v2ex.com/simple

           指定全局安装源:

                     在unix和macos,配置文件为:$HOME/.pip/pip.conf

                    在windows上,配置文件为:%HOME%\pip\pip.ini

                      [global]
                           timeout = 6000
                           index-url = http://pypi.douban.com/simple


5.python判断相等

      is   主要是判断2 个变量是否引用的是同一个对象,如果是的话,则返回 true,否则返回 false。

     ==   用来判断两个对象的值是否相等(跟Java 不同,Java 中 == 用来判断是否是同一个对象)。

     assert equals         相当于   ==


6.Python TypeErrorunbound method must be called with instance as first argument

           多发生在引用自己的类的时候

                          例如:readIt =dictionary.onlyCellValue("E:\python\API\eadData.xls","Sheet1", 1)

   加了括号就好了,加括号才会识别成一个类

                            readIt =dictionary().onlyCellValue("E:\python\API\eadData.xls","Sheet1", 1)



你可能感兴趣的:(python)