使用patch修补python中serial.tools中的一个Bug

来源:互联网 发布:安利网络直销模式 编辑:程序博客网 时间:2024/04/27 08:15

    今天在写python的时候遇到了一个错误:

port_list = list(serial.tools.list_ports.comports())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/serial/tools/list_ports_posix.py", line 122, in comports
    return [(d, describe(d), hwinfo(d)) for d in devices]
  File "/usr/lib/python2.7/dist-packages/serial/tools/list_ports_posix.py", line 93, in describe
    return usb_lsusb_string(sys_usb)
  File "/usr/lib/python2.7/dist-packages/serial/tools/list_ports_posix.py", line 80, in usb_lsusb_string
    return base
NameError: global name 'base' is not defined

像往常一样,把错误原因复制下来,在google上搜索,看看还有哪个倒霉蛋和我一样,结果是肯定的,是有这样的倒霉蛋。

经过查找,发现是python的serial.tools中的一个Bug,不是我的代码的问题,心中顿时。。。

遇到问题就解决呗,先看看其他倒霉蛋怎么解决的:http://sourceforge.net/p/pyserial/patches/26/。

呃呃呃,好吧,上面的楼主把问题贴出来,二楼给了一个.diff文件,三楼就一个Thanks结束了。。。这不是欺负我等英语渣渣的初级程序猿呢?

没办法,问题还是要解决的。首先把什么是diff文件google了一下,奥,原来是一个补丁文件,怎么用呢?用patch工具。那patch工具又怎么用呢?

首先,先切换到要打补丁的那个文件下,然后patch list_ports_posix.py (补丁文件的目录),当然,保险起见,首先备份一下。之后把原来的.pyc给删掉。


再次进入到python命令行中,一开始的代码可以用了。。。

over

(By the way,我只是为了解决问题,所以许多细节我没有深入了解,有时间我再深入了解)
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 刺客信条兄弟会存档损坏了怎么办 电脑上所有软件和文件被删了怎么办 电脑显示文件已打开无法删除怎么办 金立手机桌面停止运行黑屏怎么办 苹果平板电脑玩游戏黑屏闪退怎么办 电脑开机时显示无法找到入口怎么办 我的世界显示网络玩不了的怎么办啊 网页被设置成不可以到下一页怎么办 小天鹅热水器排污螺丝拧不动怎么办 葡萄霜霉严重叶片开始发焦了怎么办 上海高架gps定位信号差怎么办 老公开车技术不行还非要开怎么办 我偷了同学手机被发现应该怎么办 没满月孩孑4天没大便了怎么办 电机轴总是从皮带轮处断裂怎么办 天花板吊顶里的热水管经常坏怎么办 摩托车油箱下面的废油管漏油怎么办 大修机械压力机轴取不下来怎么办 萌侠传说账号密码没了怎么办 车子前保护杠塑料刮花了怎么办 糖猫电话手表关机了找不到了怎么办 小天才电话手表被洗衣机洗了怎么办 小天才电话手表放洗衣机洗了怎么办 小天才电话手表泡水了怎么办 小天才电话手表联不上网怎么办 肺炎用激素治疗后肚子大了怎么办 8岁以下儿童总是低烧不退怎么办? 微博里面的视频不能改变方向怎么办 朗逸导航倒车一体机死机了怎么办 乐淘乐电话手表的二维码没了怎么办 艾蔻儿童手表二维码丢了怎么办 糖猫儿童智能手表二维码丢了怎么办 海信电视用遥控器关了打不开怎么办 创维4k电视遥控器按键坏了怎么办 大疆3s云台陀螺仪错误怎么办 无线路由我用手机上网网速慢怎么办 下载的软件安装包以丢失怎么办 战舰世界航母的飞机恐惧状态怎么办 cad打开图纸不显示轴号怎么办 若背包忘在服务区没拿怎么办 使劲擤鼻涕耳朵耳朵疼了怎么办