Как исправить ошибку Spawn EACCES от linter-flake8

linter-flake8 создает ошибку «spawn /usr/share/bash-completion/completions/flake8 EACCES» в Atom на ОС Linux Mint.

Я изменил путь к исполняемому файлу по умолчанию на /usr/local/bin/flake8, как предлагали некоторые люди ранее, но в каталоге отсутствует «flake8» («Убедитесь, что /usr/local/bin/flake8 установлен и находится в вашем PATH»).

Я пытался установить linter-flake8 через терминал и через Atom, но результат тот же.

Я ищу на своем компьютере файл с именем "flake8" и нахожу следующий путь /usr/share/bash-completion/completions/flake8, но результатом является "Spawn EACCES".

Ошибка, которая у меня сейчас:

[Linter] Error running Flake8 Error: spawn /usr/share/bash-completion/completions/flake8 EACCES
    at Process.ChildProcess._handle.onexit (internal/child_process.js:229)
    at onErrorNT (internal/child_process.js:406)
    at process._tickCallback (internal/process/next_tick.js:63)

person logicy-db    schedule 03.09.2019    source источник


Ответы (2)


Если вы устанавливаете его через Atom, убедитесь, что flake8 запускается пользователем Atom. Также убедитесь, что в конфигурации вы ссылаетесь непосредственно на flake8, а не только на рабочий каталог.

Spawn EACCES — это ошибка, связанная с разрешениями, поэтому вы также можете исправить это с помощью chown/chmod управляет исполняемым файлом flake8 и/или его рабочим каталогом.

Например:

sudo chmod -R a+rwx APPNAME/file

Имейте в виду, что это также делает APPNAME доступным для записи для всех, что на серверах представляет собой огромный риск для безопасности.

person dontlookatme    schedule 03.09.2019
comment
Что вы подразумеваете под flake8, исполняемым пользовательским атомом? Я не уверен, что это правильный flake8, у меня на компьютере есть два файла с таким именем, но один из них пустой, поэтому я могу предположить, что это не тот файл. Более того, я обнаружил, что у файла flake8 были права root, поэтому я изменил их на свои пользовательские, но все равно у меня такая же ошибка. - person logicy-db; 03.09.2019

этот файл не имеет отношения к flake8 (это автодополнение, предоставляемое каким-то другим пакетом) - в настоящее время у вас не установлен flake8

вам нужно будет установить его, используя pip install flake8 или аналогичную команду

person Anthony Sottile    schedule 05.10.2019