【问题标题】:Install python 3 modules as system executables将 python 3 模块安装为系​​统可执行文件
【发布时间】:2026-02-08 19:15:01
【问题描述】:

我想为 python 3 安装 autopep8 模块并能够将其用作命令行工具。但是按照this answer 的建议以这种方式安装它,而是使用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

【问题讨论】:

  • 您可以使用-m 标志:python -m autopep8
  • 你确定你安装了autopep8没有错误,你可以从python3import autopep8吗? pip3 install autopep8 在我的系统上获取 autopep8 二进制文件就足够了。你是在系统范围内还是在 $HOME 文件夹中安装了它(--user 选项)?你用过virtualenv吗?
  • 我在安装和调用 autopep8 时添加了控制台输出。是的,当我在 python 3 中导入它时,我没有收到任何错误。
  • 这是我安装 autopep8(ubuntu 16.04 的新 docker 映像)pastebin.com/6YKicwnS 的输出如您所见,autopep8 已安装到 /usr/local/bin/autopep8。也许您还应该尝试-vvv 选项以使 pip3 的输出更详细?
  • 显然它在$HOME/.local/bin 中安装了二进制文件。但我可以向你保证我没有使用--user

标签: python linux python-3.x pip ubuntu-16.04


【解决方案1】:

试试这个命令安装

pip install --upgrade autopep8

并尝试使用它

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

使用激进级别 2 修改文件。 请记住,autopep8 需要 pep8

【讨论】:

  • 第二个命令的输出:The program 'autopep8' is currently not installed. You can install it by typing: sudo apt install python-autopep8
  • 然后输入并告诉我...实际上我认为命令是:sudo apt-get install python-autopep8