如何让Spyder的PEP8风格分析读取setup.cfg或增加最大行长度?

18 投票
6 回答
11611 浏览
提问于 2025-04-28 03:13

我正在使用Spyder 2.3.1和python(x, y)。

在Spyder的设置里,你可以开启“样式分析”功能。这功能挺不错的,但我想增加最大允许的行长度。PEP8的默认设置是79个字符。

你可以通过一个叫setup.cfg的文件来更改这个设置,文件内容如下:

[pep8]
max-line-length = 99

你可以在这里查看相关信息:http://pep8.readthedocs.org/en/latest/intro.html#related-tools

我应该把setup.cfg放在哪里,才能让Spyder/PEP8识别我的新限制?或者有没有其他方法可以设置这个限制,或者忽略E501(行太长)这个警告?单单在Spyder里设置“在99个字符后显示垂直线”并没有帮助。

暂无标签

6 个回答

1

项目里应该有一个包含pep8部分的tox.ini文件,或者一个setup.cfg文件。

http://pep8.readthedocs.org/en/latest/intro.html#configuration

2

提到“pep8”的说法已经过时了。这个软件包现在叫“pycodestyle”。

3

如果你是用户 "myname",并且在使用 conda 的环境 "myenv",你可以尝试编辑这个文件:
/home/myname/miniconda3/envs/myenv/lib/python3.7/site-packages/pycodestyle.py
把里面的 MAX_LINE_LENGTH=79 改成 MAX_LINE_LENGTH=100,比如这样。
这样做对我的 Spyder 3.3.6 有用。

9

受到Minh评论的启发,我找到了一种方法可以在spyder 3.8上实现这个功能,具体步骤如下。首先,使用以下命令找到你的~目录:

import os; os.path.expanduser('~')

(可以参考Justin Harris的备注)

然后在~目录下添加一个名为.pycodestyle的文件,文件内容为:

[pycodestyle]
max-line-length = 99

(可以参考Carlos Cordoba的回答)

重启spyder [编辑:根据下面的评论,这一步其实不需要]。实际上,这只是把上面大部分的建议和回答结合在一起。

18

根据@Werner提到的链接:

http://pep8.readthedocs.org/en/latest/intro.html#configuration

你需要做的是创建一个文件,名字叫做 ~/.config/pep8(在Linux或Mac上)或者 ~/.pep8(在Windows上),然后把这些内容添加进去:

[pep8]
max-line-length = 99

我在Spyder里测试过,效果很好。

撰写回答