deerjoe 发表于 2012-11-15 00:15:31

为什么在终端可以运行的py,到了命令行界面时会出现编码错误?

一直在终端中链接小pi
无聊写了一个Python,想让他开机自启动,谁知加入init.d后,死活不能启动;直到今天连上了HDMI才发现自启动后脚本报错。大概意思是编码错误吧。
UnicodeEncodeError: 'ascii' codec can't encode characters 什么的
脚本中已经加入了
#-*- coding: UTF-8 -*-

reload(sys)
sys.setdefaultencoding('utf-8')

在终端中运行完全没问题,可是不知道为什么在命令行界面下反而会出错呢?
求老鸟大神们解救!

deerjoe 发表于 2012-11-15 10:18:04

哈哈成功了 原来是我的rc.local脚本写不对
需要用pi用户执行python
用su pi -c 传递命令后就不会出错了

树老大 发表于 2012-11-15 17:01:20

帮顶一下吧。

rsw1986 发表于 2012-11-15 22:57:40

谢谢楼主

lupino 发表于 2012-11-16 14:09:41

不一定要 pi 用户才能用 python,设下 PATH 就行啦!
在运行前 加入
export PATH=/usr/bin:/usr/local/bin:$PATH
就可。
页: [1]
查看完整版本: 为什么在终端可以运行的py,到了命令行界面时会出现编码错误?