Плагин автозаполнения джедаев SublimeText3 не распознает путь Python virtualenv - PullRequest
0 голосов
/ 18 мая 2018

Я установил и настроил автозаполнение джедая v0.12.0 в Sublime Text 3 v3.1.1.В пользовательских настройках джедая я установил python_interpreter, чтобы указать версию Python в virtualenvs.

"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 переменной среды, это не имело никакого значения.

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

Джедай проверяет, безопасны ли переводчики.Хотя для вас совершенно разумно использовать любую среду, какую вы пожелаете, иногда трудно поспорить, безопасно это или нет.Вы можете просто использовать create_environment(path, safe=False), когда используете Jedi, но, очевидно, этот возвышенный плагин не позволяет этого (но, может быть, следует?).

IMO, лучшим решением было бы создание venv вместо вместо virtualenvs.Они лучше работают с джедаем, потому что они не копируют весь двоичный файл Python (что в любом случае не имеет большого смысла).Я не уверен на 100%, что это поможет вам, но может помочь другим людям.

0 голосов
/ 27 мая 2018

Единственное решение, которое я смог найти, это запустить Sublime с терминала под virtualenv.В терминале:

$ workon virtualenv_name
$ subl

Теперь _is_safe(executable_path) метод может найти virtualenv Python исполняемый файл и возвращает True.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...