5

Eclipse PyDev 插件包括出色的集成autopep8支持。它会在保存时自动将代码格式化为 PEP8 样式,并带有几个旋钮和选项来根据您的需要进行定制。

但是autopep8导入格式化程序会破坏site.addsitedir()使用。

import site

site.addsitedir('/opt/path/lib/python')

# 'ourlib' is a package in '/opt/path/lib/python', which 
# without the above addsitedir() would otherwise not import.
from ourlib import do_stuff

在 PyDev 的autopep8导入格式化程序之后,它将其更改为:

import site

from ourlib import do_stuff

site.addsitedir('/opt/path/lib/python')

与. from ourlib import do_stuff_ImportError: No module named ourlib

问题:

是否有 PyDev 设置或autopep8命令行选项来阻止它移动site.addsitedir()呼叫?

4

2 回答 2

6

老歌但仍然相关,因为我发现了这个问题。

我正在使用 VSCode 和 autopep8。# nopep8您可以通过添加到相关行来禁用格式设置。

附言。检查文档中的链接但找不到它:(

于 2019-08-07T12:00:42.170 回答
1

我能找到的最佳选择是在 PyDev 中关闭导入排序。这不是一个完整的解决方案,但总比完全关闭autopep8代码格式化要好。

只需取消选中Sort imports on save?Eclipse/PyDev Preferences 中的选项即可。

对于带有 PyDev 3.9.2 的 Eclipse Kepler,Service Release 2,您可以在此处找到它:

Windows -> Preferences 
--> PyDev -> Editor -> Save Actions
----> "Sort imports on save?" (uncheck)
于 2015-04-10T22:24:36.850 回答