Python 使用 --user 标志安装时找不到入口点命令行脚本

Python entry point commandline script not found when installing with --user flag

我最近写了一个带有命令行工具的包。 setup.py 看起来像这样

from setuptools import setup

setup(...
      entry_points = {
            'console_scripts': [
                    'cmdname = modulename.binary:main',
                ],
          },
      ...)

当我通过

在没有 --user 标志的情况下安装它时一切正常
$ sudo python setup.py install
$ cmdname
Yes, I'm here! Give me a command!

但是,在没有 root 访问权限的情况下安装它会

$ python setup.py install --user
$ cmdname
-bash: cmdname: command not found

我想应该有一个用户脚本链接到的目录应该导出到 PATH?无论如何,我怎样才能实现 setuptools 链接到入口点?还是不可能?

二进制文件已安装到 ~/.local/bin/。因此,将 export PATH=~/.local/bin:$PATH 添加到 ~/.bash_profile

$ source ~/.bash_profile

解决了问题。