问题描述:

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编码报错相关推荐

  1. 【编码】数据库编码报错

    目录 编码报错: 编码截图(中文输出???) 原因分析: 解决方案: 步骤一 步骤二 乱码报错: [HY000][1366] Incorrect string value: '\xE7\xB3\xBB ...

  2. python2.7 end=号报错_python2 post 上传压缩文件编码报错

    python版本是2.7,使用urllib2将文件推送至微信,在上传文件时,碰到这样一个问题:上传未经压缩的文本文件,可以成功:上传经过压缩的二进制文件,则提示编码错误 代码如下 def upload ...

  3. ubuntu安装mysql报错_解决Ubuntu 12.04中更改MySQL默认编码报错

    Ubuntu 12.04,安装了MySQL,完了之后,更改了字符编译,就报错.感觉很郁闷. 环境: root@ubuntu:~# uname -a Linux ubuntu 3.2.0-23-gene ...

  4. 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 ...

  5. 解决 QRibbon 在VS+Qt 环境下的编码报错问题 “文本后缀无效; 未找到文文本运算符或文本运算符模板“

    一.问题 在使用QRibbon时编译报错 "文本后缀无效; 未找到文文本运算符或文本运算符模板",是因为编码问题,需要将程序文件进行编码设置 二.解决方案 1.Visual Stu ...

  6. python读取文件编码报错解决

    项目场景: python读取文件报错解决 问题一:UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 问题二:Unic ...

  7. 关于with open() as f读取文件时编码报错问题

    一般我们都是这样写,python3 with open(file_path, mode='r') as f:..... 但是有时候读取的内容有编码问题,会报错: UnicodeDecodeError: ...

  8. python 编码报错问题 'ascii' codec can't encode characters 解决方法

    python在安装时,默认的编码是ascii, 当程序中出现非ascii编码时,python的处理常常会报这样的错 'ascii' codec can't encode characters pyth ...

  9. Python编码报错 TypeError: unhashable type set

    问题: TypeError: unhashable type set class FTP(object):def __init__(self,ip,user,passwd) :self.ip = ip ...

最新文章

  1. 解决vue版本不匹配的问题 Vue packages version mismatch:
  2. python tempfile模块用不了_Python tempfile:坏了还是我做错了?
  3. 5g虚拟技术旅游_5G造就文旅新时代,驴迹科技探索智慧出行创新领域
  4. 「PDF Expert」macOS 全能型 PDF 工具,几大能力务必了解下
  5. 【Flink】 Flink 源码之 Buffer Timeout优化
  6. 2018年下半年系统集成项目管理工程师真题及答案解析
  7. 线性代数 (二): 证明 A^T 乘以 A 为半正定矩阵
  8. 淘客外卖返利小程序搭建 - 美团联盟外卖返利小程序平台、饿了么返利小程序系统、外卖cps小程序
  9. Spring 最常用的几大类常用注解总结,史上最强整理!
  10. vs2010学习版loadimage();函数载入图片无法加载的问题
  11. 查询rssi指令_无线接收信号强度(RSSI)那些事儿
  12. 基数排序——多关键字排序(MSD/LSD)以及链式基数排序
  13. linux设置sfq队列参数,Linux内核中流量控制(5)
  14. c语言一个小写字母字节,C语言:给定一个小写字母,转换成大写字母
  15. 西北农林科技大学计算机系运动会,西北农林科技大学召开2018年学院春季运动会...
  16. 油菜花系统服务器能删除内容吗,油菜花种植管理方法
  17. NVIDIA Jetson Xavier性能首测:AI性能碾压苹果A12,自研CPU架构看齐骁龙84
  18. 使用whistle进行API代理
  19. wordpress网站通过17ce测试加载速度,一片红怎么解决?
  20. redis 持续时间_Redis性能指标监控!你知道多少?

热门文章

  1. 使用VirtualBox SDK之初步编译
  2. .NET系列 之 开源和不开源的背后
  3. DELPHI 开发的 OCX 控件在 MFC 程序中编辑框快捷键不好使的解决
  4. vue,vue-router实现浏览器返回不刷新页面
  5. java虚拟机的生命周期_深入理解Java虚拟机——JVM的生命周期
  6. mysql select 查询选后5个_mysql 查询select语句汇总
  7. mysql循环队列_数据结构:循环队列
  8. echarts 地图实现轮播(一)
  9. angularjs ng-click传参控制ng-repeat元素显示与隐藏
  10. Qt5—嵌入停靠窗口QDockWidget