问题描述:

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. Linux下redis的安装
  2. 在Windows Server 2012中如何快速开关桌面上经典的“计算机、我的文档”等通用图标...
  3. Linux 跟踪进程对CPU的占用情况,对内存的占用情况
  4. Exchange 2007 申请多域名证书
  5. 适合STM32的三大嵌入式操作系统
  6. django Sometimes request.session.session_key is None
  7. 学法减分助手PRO小程序
  8. 实例变量与局部变量的区别 java 1615135277
  9. php文件上传接口测试,七牛云存储-用php上传图片,我在本地测试,用php接口,不成功...
  10. Python访问MySQL数据库速度慢解决方法
  11. java poi 读取Excel中的手机号
  12. (高级)Matlab绘制中国地图超全教程详解
  13. Unity3D场景制作基本操作
  14. OSChina 周二乱弹 ——女孩在身上纹了个四叶草
  15. VC 关于CEdit基本用法
  16. “图书管理系统”数据视图
  17. 安装anaconda时报错“failed to create menus”尝试各种解决方法
  18. 软件测试之测试主流技能
  19. OpenCVSharp入门教程 特征提取③——HoughLinesP直线寻找,直线提取
  20. Git从本地向TFS push项目

热门文章

  1. 每次ubuntu12.04重启后,/etc/resolv.conf被重写为空或127.0.0.1
  2. 界限的应用开发 HTML5,更高效地到达更多设备和用户
  3. 这就是80后的我们!
  4. 利用ASP下载远程文件到服务器
  5. echarts格式化tooltip数据
  6. H5在原生手机上显示选中文字效果
  7. 多行文本超出用省略号代替,单击展开全部
  8. windows下安装Python-Whl文件
  9. 趁webpack5还没出,先升级成webpack4吧
  10. 坐下,这些都是二叉树的基本操作!