Visual Studio Code, autopep8 не запускается
На Windows 10. Я сделал это:
pip install autopep8
и в настройках пользователя vscode у меня есть
"python.linting.pep8Enabled": true,
"python.formatting.provider": "autopep8",
Когда я запускаю формат документа или явно вызываю autopep8 из командной палитры, возникает ошибка:
Error: Command failed: autopep8 c:\tca-backend\lambdas\utilities\NetMenuAPIUtil.py
'autopep8' is not recognized as an internal or external command,
operable program or batch file.
Ясно, что VSC хочет вызвать autopep8.exe, но нет EXE-файла. Просто пи. Поэтому я создал autopep8.bat, который работает при тестировании из командной строки, но при запуске из vsc он вставляет содержимое командного файла в верхнюю часть документа. (Да, это так странно, как кажется.)
Все остальные связанные с Python операции работают нормально, включая расширение ESLint.
8 ответов
Код VS Расширение Python поддерживает форматирование исходного кода с использованием autopep8 (по умолчанию), черного или yapf, поэтому вам не нужно устанавливать инструменты форматирования python самостоятельно.
Я использую форматирование, чтобы установить ярлык в коде.
Перейдите в Файл -> Настройки -> Сочетания клавиш, затем найдите format
, Установить ярлык как ctrl + shift + p
который совпадает с ярлыком autopep8 или вы можете установить любую комбинацию, которую вы предпочитаете.
Нажмите на ярлыки в ваших.py файлах, и вы получите отформатированный код.
Я столкнулся с сообщением об ошибке, пытаясь сделать то же самое, и ниже было то, что я сделал (в моем терминале):
Установите или обновите pep8:
pip установить --обновить autopep8
Перейдите в папку/каталог, где находится файл, который вам нужно отформатировать, затем используйте следующую команду:
autopep8 --на месте имя_файла
Вот оно!
для меня установки документа autopep8 недостаточно, я все еще вижу эту ошибку, мне пришлось следовать этому https://pip.pypa.io/en/latest/user_guide/#user-installs . Работает как часы.
Я использую окна, поэтому я использовал это:
py -m pip install –user autopep8
Если кто-то сталкивается с этим в VSCode, даже после правильной установки autopep8, настройки форматировщиков по умолчанию, как предлагали другие, настройки сочетания клавиш (хотя сейчас по умолчанию используется Shift Ctrl F)...
Попробуйте удалить.vscode
папку целиком в текущей папке, именно поэтому форматтер документов у меня работал.
Внутри могут быть какие-то конфликтующие параметры, вызывающие этот кошмар.
Поскольку вы используете VSCode в Windows, щелкните раздел Терминал и введите
pip install pep8
Это начнет установку pep8.
Вам нужно добавить это как ПУТЬ в Переменные системной среды:
c:\users\<username>\appdata\roaming\python\python39\site-packages
Затем закройте и перезапустите VS Code. Введите autopep8 в командной строке терминала, и вы должны увидеть следующее:
C:\Foobar>autopep8
usage: autopep8 [-h] [--version] [-v] [-d] [-i] [--global-config filename] [--ignore-local-config] [-r] [-j n] [-p n] [-a] [--experimental] [--exclude globs] [--list-fixes] [--ignore errors] [--select errors]
[--max-line-length n] [--line-range line line] [--hang-closing] [--exit-code]
[files ...]
autopep8: error: incorrect number of arguments
Я столкнулся с той же ошибкой при запуске WSL: Ubuntu-20.04, вот мое решение:
$ pip --version
Это заставит вас убедиться, что у вас правильно установлен python3 pip в вашем дистрибутиве, если это не так, появится сообщение об ошибке:
Command 'pip' not found, but can be installed with:
apt install python3-pip
Просто запустите указанную команду, чтобы установить ее, а затем запустите:
$ python3 -m pip install autopep8
Теперь все должно работать как надо, включая форматирование autpep8.
То же самое произошло и со мной, потом я просто поменял привязку клавиш на другие клавиши и все просто заработало.