cython编码报错
问题描述:
appleyuchi@Ubuntu16:~/桌面/test$ cython fib.py --embed
Traceback (most recent call last):
File "/usr/bin/cython", line 8, in <module>
main(command_line = 1)
File "/usr/lib/python2.7/dist-packages/Cython/Compiler/Main.py", line 704, in main
result = compile(sources, options)
File "/usr/lib/python2.7/dist-packages/Cython/Compiler/Main.py", line 679, in compile
return compile_multiple(source, options)
File "/usr/lib/python2.7/dist-packages/Cython/Compiler/Main.py", line 657, in compile_multiple
result = run_pipeline(source, options, context=context)
File "/usr/lib/python2.7/dist-packages/Cython/Compiler/Main.py", line 487, in run_pipeline
err, enddata = Pipeline.run_pipeline(pipeline, source)
File "/usr/lib/python2.7/dist-packages/Cython/Compiler/Pipeline.py", line 328, in run_pipeline
data = phase(data)
File "/usr/lib/python2.7/dist-packages/Cython/Compiler/Pipeline.py", line 53, in generate_pyx_code_stage
module_node.process_implementation(options, result)
File "/usr/lib/python2.7/dist-packages/Cython/Compiler/ModuleNode.py", line 118, in process_implementation
self.generate_c_code(env, options, result)
File "/usr/lib/python2.7/dist-packages/Cython/Compiler/ModuleNode.py", line 352, in generate_c_code
self.generate_filename_table(globalstate['filename_table'])
File "/usr/lib/python2.7/dist-packages/Cython/Compiler/ModuleNode.py", line 709, in generate_filename_table
if root_path.startswith(workdir):
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 17: ordinal not in range(128)
下面是问题重现,代码来自:
https://www.cnblogs.com/yafengabc/p/6130849.html
这个博客中的fib.py如下:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import timedef fib(n):if n==0:return 0if n==1:return 1return fib(n-1)+fib(n-2)
t=time.time()
print(fib(10))
print(time.time()-t)
使用python fib.py能直接出结果
但是使用cython fib.py --embed
就会报告上面的错误。
此时在fib.py最上面加入
import sys
reload(sys)
sys.setdefaultencoding('utf8')
会发现报错依旧。
下面是正确的解决方案:
在/usr/lib/python2.7/dist-packages/Cython/Compiler路径下的
Pipeline.py
Main.py
ModuleNode.py
三个文件的开头(root权限下操作)的
from __future__ import absolute_import
这句话的下面加入下面三行即可。
import sys
reload(sys)
sys.setdefaultencoding('utf8')
也就是说,这个报错,其实是cython库的报错,并不是fib.py的报错。
cython编码报错相关推荐
- 【编码】数据库编码报错
目录 编码报错: 编码截图(中文输出???) 原因分析: 解决方案: 步骤一 步骤二 乱码报错: [HY000][1366] Incorrect string value: '\xE7\xB3\xBB ...
- python2.7 end=号报错_python2 post 上传压缩文件编码报错
python版本是2.7,使用urllib2将文件推送至微信,在上传文件时,碰到这样一个问题:上传未经压缩的文本文件,可以成功:上传经过压缩的二进制文件,则提示编码错误 代码如下 def upload ...
- ubuntu安装mysql报错_解决Ubuntu 12.04中更改MySQL默认编码报错
Ubuntu 12.04,安装了MySQL,完了之后,更改了字符编译,就报错.感觉很郁闷. 环境: root@ubuntu:~# uname -a Linux ubuntu 3.2.0-23-gene ...
- ffmpeg编码报错:more samples than frame size (avcodec_encode_audio2)
fkd_aac默认有好几种采样范围,如下: 2048 HE-AAC v1/v2 1024: Default configuration.//AAC-LC 1024 512: Default lengt ...
- 解决 QRibbon 在VS+Qt 环境下的编码报错问题 “文本后缀无效; 未找到文文本运算符或文本运算符模板“
一.问题 在使用QRibbon时编译报错 "文本后缀无效; 未找到文文本运算符或文本运算符模板",是因为编码问题,需要将程序文件进行编码设置 二.解决方案 1.Visual Stu ...
- python读取文件编码报错解决
项目场景: python读取文件报错解决 问题一:UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 问题二:Unic ...
- 关于with open() as f读取文件时编码报错问题
一般我们都是这样写,python3 with open(file_path, mode='r') as f:..... 但是有时候读取的内容有编码问题,会报错: UnicodeDecodeError: ...
- python 编码报错问题 'ascii' codec can't encode characters 解决方法
python在安装时,默认的编码是ascii, 当程序中出现非ascii编码时,python的处理常常会报这样的错 'ascii' codec can't encode characters pyth ...
- Python编码报错 TypeError: unhashable type set
问题: TypeError: unhashable type set class FTP(object):def __init__(self,ip,user,passwd) :self.ip = ip ...
最新文章
- 解决vue版本不匹配的问题 Vue packages version mismatch:
- python tempfile模块用不了_Python tempfile:坏了还是我做错了?
- 5g虚拟技术旅游_5G造就文旅新时代,驴迹科技探索智慧出行创新领域
- 「PDF Expert」macOS 全能型 PDF 工具,几大能力务必了解下
- 【Flink】 Flink 源码之 Buffer Timeout优化
- 2018年下半年系统集成项目管理工程师真题及答案解析
- 线性代数 (二): 证明 A^T 乘以 A 为半正定矩阵
- 淘客外卖返利小程序搭建 - 美团联盟外卖返利小程序平台、饿了么返利小程序系统、外卖cps小程序
- Spring 最常用的几大类常用注解总结,史上最强整理!
- vs2010学习版loadimage();函数载入图片无法加载的问题
- 查询rssi指令_无线接收信号强度(RSSI)那些事儿
- 基数排序——多关键字排序(MSD/LSD)以及链式基数排序
- linux设置sfq队列参数,Linux内核中流量控制(5)
- c语言一个小写字母字节,C语言:给定一个小写字母,转换成大写字母
- 西北农林科技大学计算机系运动会,西北农林科技大学召开2018年学院春季运动会...
- 油菜花系统服务器能删除内容吗,油菜花种植管理方法
- NVIDIA Jetson Xavier性能首测:AI性能碾压苹果A12,自研CPU架构看齐骁龙84
- 使用whistle进行API代理
- wordpress网站通过17ce测试加载速度,一片红怎么解决?
- redis 持续时间_Redis性能指标监控!你知道多少?
热门文章
- 使用VirtualBox SDK之初步编译
- .NET系列 之 开源和不开源的背后
- DELPHI 开发的 OCX 控件在 MFC 程序中编辑框快捷键不好使的解决
- vue,vue-router实现浏览器返回不刷新页面
- java虚拟机的生命周期_深入理解Java虚拟机——JVM的生命周期
- mysql select 查询选后5个_mysql 查询select语句汇总
- mysql循环队列_数据结构:循环队列
- echarts 地图实现轮播(一)
- angularjs ng-click传参控制ng-repeat元素显示与隐藏
- Qt5—嵌入停靠窗口QDockWidget