我正在尝试将ST3配置为我的Python开发的IDE。
以下是一段代码:
from __future__ import division
from sklearn import datasets
import numpy as np
def main():
ds = datasets.load_boston()
x = ds.data
y = ds.target
x.ravel()
if __name__ == '__main__':
main()
以下是我的Preferences.sublime-settings设置:
{
"color_scheme": "Packages/Theme - Flatland/Flatland Dark.tmTheme",
"theme": "Flatland Dark.sublime-theme",
"flatland_sidebar_tree_xsmall": false,
"flatland_square_tabs": true,
"auto_complete_delay": 10,
"auto_complete_triggers":
[
{
"characters": ".",
"selector": "source.python - string - comment - constant.numeric"
}
],
"font_size": 12,
"tab_size": 4,
"translate_tabs_to_spaces": true,
"caret_extra_bottom": 1,
"caret_extra_top": 1,
"caret_extra_width": 1.2,
}
这是我的Anaconda.sublime-settings
{
"anaconda_linter_mark_style": "none",
"anaconda_linter_underlines": false,
"suppress_word_completions": true,
"suppress_explicit_completions": true,
"enable_signatures_tooltip": true,
"merge_signatures_and_doc": true,
"pep8_ignore":
[
"E305",
"E309",
"E501",
"E112",
"W291"
]
}
以下是我所有已安装软件包的列表:
我的问题如下:
1。)如果我输入 ds。自动填充不建议数据或目标,但它们应该是有效的建议。
2。)如果我输入 ds。自动填充建议建议,例如:from,if,def等...我相信自动完成扫描整个文本文件并添加字符串中的建议。有没有办法禁用它并使其仅建议相关的(函数,方法和成员变量)建议?
3。) x 是 np.array 类型,其中包含方法ravel()。再一次,不建议使用此方法。这真的不是我对自动完成的期望。
非常感谢任何帮助! 亲切的问候
答案 0 :(得分:1)
Jedi(anaconda用于提供自动完成的库)中存在已知问题,无法完成NumPy和其他科学库。例如 https://github.com/davidhalter/jedi/issues/372
关于NumPy的未解决问题的完整列表(可能其中一些是重复的):https://github.com/davidhalter/jedi/search?q=numpy&state=open&type=Issues&utf8=%E2%9C%93
这就是为什么你没有完成NumPy阵列的完成,恢复,目前anaconda无法为你提供NumPy的自动完成,因为Jedi不能为它提供自动完成。
答案 1 :(得分:0)
我想补充一点,我发现了一个非常难看的解决方法,但可能对其他人有用。
代码片段:
from __future__ import division
from sklearn import datasets
import numpy as np
def main():
ds = datasets.load_boston()
x = ds.data
y = ds.target
assert isinstance(x, np.ndarray)
x.ravel() # Autocomplete for x now works.
if __name__ == '__main__':
main()
在断言声明后,numpy的自动完成工作。
似乎绝地需要一点暗示。