【问题标题】:Unable to execute a python script after pip install the packagepip安装包后无法执行python脚本
【发布时间】:2019-02-21 19:55:04
【问题描述】:

我创建了一个如下所示的 python 包。该软件包主要用于在 docker 容器内的 jenkins 管道中运行阶段。因此,我在 github 中创建了一个存储库并创建了一个 dockerfile,其中包含克隆存储库并在该包上执行 pip install 的步骤。然后我构建了 docker 镜像。

jenkins_pipeline_pkg/
| - jenkins_pipeline_pkg/
    | - __init__.py
| - config/
    | - config.yaml
| - scripts/
    | - pre_build.py
    | - build.py
| - setup.py

我在使用 dockerfile 创建的 docker 容器内的包上执行了 pip install。 setup.py 如下所示。

#!/usr/bin/env python

from setuptools import setup

setup(name='jenkins_pipeline_pkg',
      version='0.1',
      description='Scripts for jenkins pipeline',
      url='<private repo url>',
      author='<name>',
      author_email='<email>',
      packages=['jenkins_pipeline_pkg'],
      zip_safe=False,
      entry_points={
          'console_scripts': [
              'pre-build = jenkins_pipeline_pkg.pre_build:main',
              'build = jenkins_pipeline_pkg.build:main',],
      }
)

我在包上运行了 pip install。它安装了~/.local/bin 中entry_points 中提到的可执行文件。然后我尝试通过不更改目录~/.local/bin(只是说我从/home/user 执行)从其他任何地方执行可执行文件。而且 bash 自动完成也不显示预构建命令。我不知道我在这里错过了什么。

【问题讨论】:

  • 尝试在 /use/bin 中为可执行文件创建链接或在 $PATH 中包含 ~/.local/bin。希望这会有所帮助
  • 添加了导出路径=~/.local/bin:$PATH。有效。谢谢。
  • 太棒了。不客气。我将复制粘贴与答案相同。
  • 有没有办法为每个 pip 安装脚本的用户自动执行此操作?

标签: python pip


【解决方案1】:

尝试在 /use/bin 中为可执行文件创建链接,或者在 $PATH 中包含 ~/.local/bin。

编辑: 导出 PATH=~/.local/bin:$PATH

【讨论】:

    猜你喜欢
    • 2021-12-18
    • 1970-01-01
    • 2019-01-27
    • 2022-07-20
    • 2016-12-08
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    相关资源
    最近更新 更多