Установите модули python 3 как системные исполняемые файлы

Я хочу установить модуль autopep8 для python 3 и иметь возможность использовать его как инструмент командной строки. Но установите его таким образом, как предлагает этот ответ, используя вместо этого pip3:

pip3 install autopep8

... не помогает: когда я пытаюсь вызвать autopep8 из командной строки, я получаю сообщение об ошибке «команда не найдена» и предложение установить пакет python-autopep8.

kenny@localhost:~$ pip3 install autopep8
Collecting autopep8
Collecting pep8>=1.5.7 (from autopep8)
  Using cached pep8-1.7.0-py2.py3-none-any.whl
Installing collected packages: pep8, autopep8
Successfully installed autopep8-1.2.2 pep8-1.7.0
kenny@localhost:~$ autopep8
The program 'autopep8' is currently not installed. You can install it by typing:
sudo apt install python-autopep8

Но этот пакет предназначен для Python 2.7! И я не смог найти python3-autopep8.

Есть ли способ установить модули Python 3 (например, с использованием pip3) в качестве исполняемых файлов таким же образом, как вы, скажем, npm install -g?


person SylvainB    schedule 04.05.2016    source источник
comment
вы можете использовать флаг -m: python -m autopep8   -  person DeepSpace    schedule 04.05.2016
comment
Вы уверены, что установили autopep8 без ошибок и можете import autopep8 из python3? Достаточно pip3 install autopep8, чтобы получить двоичный файл autopep8 в моей системе. Вы также установили его в масштабе всей системы или в папку $ HOME (опция --user)? Вы использовали virtualenv?   -  person dim-an    schedule 04.05.2016
comment
Я добавил свой консольный вывод при установке и вызове autopep8. И да, когда я импортирую его в python 3, я не получаю ошибок.   -  person SylvainB    schedule 04.05.2016
comment
Вот мой результат установки autopep8 (свежий образ докера для ubuntu 16.04) pastebin.com/6YKicwnS Как вы можете видеть autopep8 установлен в /usr/local/bin/autopep8. Может быть, вам также стоит попробовать параметр -vvv, чтобы сделать вывод pip3 более подробным?   -  person dim-an    schedule 05.05.2016
comment
Очевидно, он установил двоичный файл в $HOME/.local/bin. Но могу вас заверить, что не использовал --user   -  person SylvainB    schedule 09.05.2016


Ответы (1)


попробуйте эту команду для установки

pip install --upgrade autopep8

и использовать это попробуйте

autopep8 --in-place --aggressive --aggressive <filename>

для изменения файла на месте с агрессивным уровнем 2. Помните, что autopep8 требует pep8

person D.A.G.D    schedule 04.05.2016
comment
вывод этой второй команды: The program 'autopep8' is currently not installed. You can install it by typing: sudo apt install python-autopep8 - person SylvainB; 04.05.2016
comment
затем введите его и скажите мне ... и на самом деле я думаю, что это команда: sudo apt-get install python-autopep8 - person D.A.G.D; 04.05.2016