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()
来电?
答案 0 :(得分:1)
我能找到的最佳选择是在PyDev中关闭导入排序。这不是一个完整的解决方案,但它比完全关闭autopep8
代码格式更好。
只需取消选中Eclipse / PyDev首选项中的Sort imports on save?
选项即可。
对于Eclipse Kepler,Service Release 2,使用PyDev 3.9.2,你可以在这里找到它:
Windows -> Preferences
--> PyDev -> Editor -> Save Actions
----> "Sort imports on save?" (uncheck)
答案 1 :(得分:0)
老歌,但仍然有意义,因为我发现了这个问题。
我正在使用VSCode和autopep8。
您可以通过在相关行中添加# nopep8
来禁用格式设置。
ps。检查了文档中的链接,但找不到它:(