【发布时间】:2018-05-18 15:01:18
【问题描述】:
我已经在 Sublime Text 3 v3.1.1 上安装并配置了 Jedi 自动完成 v0.12.0。在 Jedi 用户设置中,我将python_interpreter 设置为指向virtualenvs 中的python 版本。
"python_interpreter": "/home/username/.virtualenvs/cv3/bin/python"
问题是在/dependencies/jedi/api/environment.py 中,方法_assert_safe 无法将virtualenv 路径识别为安全的。
def _assert_safe(executable_path, safe):
if safe and not _is_safe(executable_path):
raise InvalidPythonEnvironment(
"The python binary is potentially unsafe.")
_assert_safe 方法调用def _is_safe(executable_path) 方法,该方法也返回 false。这两种方法中的代码非常简单,我理解发生了什么,我只是没有看到任何解决方案。出于测试目的,我将virtualenv Python 路径添加到PYTHONPATH 环境变量,它没有任何区别。
【问题讨论】:
-
如果您确定它是安全的,您可能应该只使用 safe=False 并且一切都会正常工作。不知道如何使用 SublimeText3 做到这一点,但这是我的看法。
-
@DaveHalter 我认为硬编码值不是一个好的解决方案。但是,我通过从 virtualenv 下的终端启动 Sublime 解决了这个问题。
标签: autocomplete sublimetext3 sublime-text-plugin