2016-09-07 119 views
0

我刚刚从git仓库中取回用户在Python 2上。我的系统运行的是Python 3,并且没有更改代码,出现此错误:将.py文件转换为正确的Python编码3

TabError: inconsistent use of tabs and spaces in indentation 

看来解决方案是更改.py文件的字符集编码,但在emacs中工作,我不清楚如何执行此操作。我看到这些说明:

https://www.emacswiki.org/emacs/ChangingEncodings

,但我不明白如何应用这些为UTF-8。我会很感激任何建议。

+0

[Make Emacs在Python交互模式下使用UTF-8]的可能副本(http://stackoverflow.com/questions/888406/make-emacs-use-utf-8-with-python-interactive-mode) – JackCC

回答

1

存在命令untabify空格替换所有的文件全部制表符:

在转换区域内多个空格所有选项卡,保留列。 如果使用前缀ARG交互调用,则转换为整个 缓冲区。

I.e.用C-u调用它来转换缓冲区中的所有TAB。

正如评论指出的那样:tabify做了相反处理,将多个空格转换为制表符 - 使用空格似乎不仅仅是Python中的常见约定。

+0

可能需要包含反向命令'tabify',它反向执行相同的操作(将多个空格转换为制表符)。 – JackCC

0

这不是一个python 2/3的问题,它看起来像git仓库中的东西有错误的缩进。最简单的解决将是使用的东西,像sed

相关问题