Python问题总结(一)

本文汇总了Python编程中常见的10个问题及其解决方案,包括Sublime Text中.py文件显示异常、Python不同版本间的输出差异、matplotlib运行时错误、字符编码问题、跨域请求错误、Tensorflow配置错误、Numpy版本不兼容、Python与Cython混合编程、cuDNN库配置问题等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

每篇10个问题.
Python问题总结(二)
Python问题总结(三)

1 Sublime Text中**.py代码出现白框

图1.1为代码出现白框示意图.


白框

图1.1 代码被白框框住
  • 解决方案
    图1.2为解决流程.

    解决方案
图1.2 解决流程

Anaconda.sublime-setting中添加代码:

{"anaconda_linting" : false}

2 python换行输出

2.1 python2

  • 代码
a = range(3)
for i in a:
	print(i)
  • 结果
0
1
2
  • 解决方案
    在print后添加逗号,
  • 代码
a = range(3)
for i in a:
	print(i),
  • 结果
012

2.2 python3

  • 代码
a = range(3)
for i in a:
	print(i)
  • 结果
0
1
2
  • 解决方案
    在print中添加end=’’
  • 代码
a = range(3)
for i in a:
	print(i, end='')
  • 结果
012

3 python输出\u而不是中文

  • 原因
    python2使用了python3的输出格式
pynlp.open()
str = '我是聊天机器人小辛'
segments = pynlpir.segment(str)
for segment in segments:
	#输出格式使用python3的格式:print(a)
	print(segment[0], '\t', segment[1])
pynlpir.close()

  • 结果
(u'\u6211', '\t', u'pronoun')
(u'\u662f', '\t', u'verb')
(u'\u804a\u5929', '\t', u'verb')
(u'\u673a\u5668\u4eba', '\t', u'noun')
(u'\u5c0f', '\t', u'adjective')
(u'\u8f9b', '\t', u'noun')
  • 解决方案
    输出格式修改为python2.x格式。
pynlp.open()
str = '我是聊太难机器人小辛'
segments = pynlpir.segment(str)
for segment in segments:
	print segment[0], '\t', segment[1]
pynlp.close()
  • 结果
我 	pronoun
是 	verb
聊天 	verb
机器人 	noun
小 	adjective
辛 	noun

  • 原因
    未重新解码
str = '\u4f60\u597d'
print(str.decode('unicode_escape'))
你好

4 运行matplotlib报错

  • 问题
Can't create weekday with n == 0
  • 原因
    日期插件版本未更新。
  • 解决方案
pip/pip3 install python-dateutil --upgrade

5 字符编码错误

  • 问题
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-9: ordinal not in range(128)
  • 原因
    不明,本大爷使用Mongodb数据库,出现该问题。开发聊天机器人项目,语料存取在Mongodb数据库,以提高回复速度。
  • 解决方案
    删库,新建同名库。

6 跨域

  • 第一次跨域问题
werkzeug.exceptions.HTTPException.wrap.<locals>.newcls: 400 Bad Request: KeyError: 'Image'
192.168.5.192 - - [07/Dec/2018 10:44:35] "POST /uploadImage HTTP/1.1" 500 -
  • 解决
response = make_response(jsonify({"Image_base64":image_base64}))
response.headers['Access-Control-Allow-Origin'] = '*'
response.headers['Access-Control-Methods'] = 'POST'
response.headers['Access-Control-Allow-Headers'] = 'x-requested-with, content-type'
return response
  • 第二次跨域问题
werkzeug.exceptions.HTTPException.wrap.<locals>.newcls: 400 Bad Request: KeyError: 'Image'
  • 解决
    前端使用Form表单传递数据,后端正常。

7 Tensorflow Flags异常

UnrecognizedFlagError: Unknown command line flag 'w'
  • 解决
    tf.app.flags.DEFINE_string(‘w’, ‘’, ‘kernel’)

8 Numpy异常

RuntimeError: module compiled against API version 0xb but this version of numpy is 0xa
  • 解决
# 升级numpy
pip/pip3 install numpy --upgrade

9 python导入pyx文件

import pyximport
pyximport.install()

10 cuDNN

  • 问题1
Couldn't open CUDA library libcudnn.so.5. LD_LIBRARY_PATH: :/usr/local/cuda/lib64
  • 原因
    安装Tensorflow-gpu==1.0.1

  • 解决
    安装tensorflow-gpu==1.3或1.4

  • 问题2

ImportError: libcudnn.so.5: cannot open shared object file: No such file or directory
Failed to load the native TensorFlow runtime.
  • 解决
    安装tensorflow-gpu==1.3或1.4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值