当前位置: 首页 > 知识库问答 >
问题:

pip没有将entry_points安装为可执行文件

姬高澹
2023-03-14

我正在尝试创建一个我自己的包。这个包非常简单,它有一个python模块和一个bash脚本。我想把它们都安装在< code>/usr/local/bin下,这样它们就可以直接执行了。

这是我的setup.py文件:

from setuptools import setup

setup(
    name='deploy',
    .
    .
    .
    install_requires=['pyyaml', 'cot', 'jsonschema'],
    entry_points={
        'console_scripts': [
            'cloud_config = cloud_config:main',
        ],
    },
    scripts=['deploy.sh'],
)

以下是pip安装输出的摘录…

running install_scripts
    copying build/scripts-2.7/deploy.sh -> /usr/local/lib/python2.7.10/bin
    changing mode of /usr/local/lib/python2.7.10/bin/deploy.sh to 755
    Installing cloud_config script to /usr/local/lib/python2.7.10/bin

有了这个,我无法直接调用python或bash脚本。

有什么想法吗?

编辑:我在< code>Ubuntu 16.04.1机器上运行< code>pip。刚刚尝试在< code>Ubuntu 14.04机器上安装相同的软件包,行为与预期一致。< code>cloud_config.py和< code>deploy.sh都被安装到< code>/usr/local/bin中,我可以从系统的任何地方调用这两个文件。

共有3个答案

干茂才
2023-03-14

最后我让它工作了。我不得不删除apt安装的pip包。

sudo apt remove python-pip

然后根据他们网站上的说明再次安装pip - https://pip.pypa.io/en/stable/installing/。

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

看起来 Ubuntu 的默认存储库中的 pip 与 pypi 分发的存储库不同。

宫元徽
2023-03-14

尝试:

pip install --install-option="--prefix=$PREFIX_PATH" package_name

例如

pip install --install-option="--prefix=/usr/local/bin" pyFooBar
陆弘光
2023-03-14

我能想到的两个选项,首先,检查pip是否指向正确的位置。所以试试:

which python

我的回答是:

/usr/bin/python

您的路径将有所不同,请相应更改路径,然后确保正确设置了path,因此:

export PATH=/usr/bin/python:${PATH}

请重新安装 pip,然后重试。如果做不到这一点,解决方法可能是在这种情况下不使用pip并尝试:

python setup.py install

它将使用您的默认python路径(不是pip)并应安装到:

/usr/local/bin 
 类似资料:
  • 我有一个包,我正在本地构建,以便在嵌入式环境中使用。 我试图自动生成控制台脚本,因此我在入口点内使用控制台脚本,如下所示: 我试图设置我entry_point中使用的python解释器,因为它不同于构建系统中的解释器。但是无论我尝试什么,它总是设置为本地翻译。 我尝试了几个选项,比如: 在设置程序的shebang头中设置解释器。py 但以上都不奏效。我在想是不是我错过了什么?

  • 问题内容: 我正在使用Mac OS X Yosemite版本10.10.3。 我在http://johnlaudun.org/20150512-installing-and-setting-pip-with- macports/中 使用macport安装了python2.7和pip 我可以成功安装软件包并将其导入我的python环境和python脚本中。但是,找不到与可以从终端中的命令行调用的软件

  • 在VScode中,我既不能安装linter也不能安装autopep8 formatter,我一直收到相同的错误消息,说没有针对该环境的pip 我有Python v. 3.8.5,并在VScode设置(/usr/local/bin/python3.8)中正确设置了路径。我选择Python v. 3.8.5作为我的解释器 问题可能是这样的: 我尝试过几次这样安装pip 当我检查pip -V时,它说 即

  • 今天,我尝试创建自己的Telegrambot(我是python新手),我想安装pyTelegramBotAPI,我使用了“pip”,但它说明了pip不是内部或外部命令、可执行程序或批处理文件 谁能告诉我如何在cmd中正确使用“pip”,而不出现此错误?感谢关注!

  • 我已将Python代码转换为文件使用。当我打开文件写入错误: 出现此错误,但程序不会自行关闭。

  • 我在MacOS上运行“哪个点”或“点-V”,它给了我以下位置: 但是,当我尝试执行时,它说 任何遇到过这个问题的人都知道如何解决这个问题? 更新: 当我执行“python3-m pip install--user pygame”或“python3 install pygame”时,会出现以下错误: 错误: 命令错误,退出状态 1: 命令: /库/框架/Python.框架/版本/3.8/bin/py