跳转到主要内容

Conscript控制台脚本,您的瑞士军刀。

项目描述

Conscript:瑞士军刀式的控制台脚本。

PyPI Version License Supported Pythons CI

Conscript提供了一种控制台脚本,您可以使用它方便地在一个虚拟环境中公开所有其他控制台脚本。在传统的虚拟环境中,这几乎没有用处。在zipapp中,它给您提供了类似于BusyBox的功能。

使用

要创建一个BusyBox,只需将conscript添加到您的依赖项中,并将应用程序主入口点设置为conscript控制台脚本。

示例

示例可能是演示Conscript实用性的最佳方式。两者PexShiv都是创建带有第三方依赖项的zipapp的流行工具;因此,它们提供了简洁的示例。

Pex

  1. 创建BusyBox PEX zipapp
    $ pex cowsay fortune conscript --script conscript --output-file speak
    
  2. 检查可用的嵌入式应用程序
    $ ./speak -h
    usage: speak [-h] [PROGRAM]
    
    A speak busy box.
    
    positional arguments:
      PROGRAM     The program to execute.
    
                  The following programs are available:
                  + cowsay
                  + fortune
    
    optional arguments:
      -h, --help  Show this help message and exit.
    
  3. 运行嵌入式应用程序
    $ ./speak cowsay "Conscript is my Swiss Army Knife!"
      _________________________________
    | Conscript is my Swiss Army Knife! |
      =================================
                                     \
                                      \
                                        ^__^
                                        (oo)\_______
                                        (__)\       )\/\
                                            ||----w |
                                            ||     ||
    
  4. 或另一个
    $ ./speak fortune -h
    Usage: speak [OPTIONS] [fortune_file]
    
    Options:
      -h, --help     show this help message and exit
      -V, --version  Show version and exit.
    
    If fortune_file is omitted, fortune looks at the FORTUNE_FILE environment
    variable for the path.
    $ ./speak fortune /usr/share/fortune/science
    Nondeterminism means never having to say you are wrong.
    
  5. 通过符号链接定位嵌入式应用程序
    $ ln -s speak cowsay
    $ ./cowsay Nifty.
      ______
    | Nifty. |
      ======
          \
           \
             ^__^
             (oo)\_______
             (__)\       )\/\
                 ||----w |
                 ||     ||
    

Shiv

Conscript 暴露的功能与 Pex 示例中的相同,因此本例仅简化为基本内容。主要区别在于,Shiv 没有完全隔离 zipapp 中的请求依赖和偶然依赖,因此我们看到的可用控制台脚本比 Pex 情况更多。

  1. 创建 BusyBox shiv zipapp
    $ shiv cowsay fortune conscript --python '/usr/bin/env python' --console-script conscript --output-file say
    Collecting cowsay
      Using cached cowsay-4.0-py2.py3-none-any.whl (24 kB)
    Collecting fortune
      Using cached fortune-1.1.0-py2.py3-none-any.whl (5.9 kB)
    Collecting conscript
      Using cached conscript-0.1.1-py2.py3-none-any.whl (7.5 kB)
    Collecting grizzled-python>=1.0
      Using cached grizzled_python-2.2.0-py2.py3-none-any.whl (36 kB)
    Installing collected packages: grizzled-python, fortune, cowsay, conscript
    Successfully installed conscript-0.1.1 cowsay-4.0 fortune-1.1.0 grizzled-python-2.2.0
    
  2. 使用它
    $ ./say -h
    usage: say [-h] [PROGRAM]
    
    A say busy box.
    
    positional arguments:
      PROGRAM     The program to execute.
    
                  The following programs are available:
                  + cowsay
                  + easy_install
                  + easy_install-3.8
                  + fortune
                  + pip
                  + pip3
                  + pip3.8
                  + shiv
                  + shiv-info
    
    optional arguments:
      -h, --help  Show this help message and exit.
    $ ./say cowsay --version
    4.0
    

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

conscript-0.1.7.tar.gz (15.1 kB 查看哈希值)

上传时间

构建分发

conscript-0.1.7-py2.py3-none-any.whl (9.0 kB 查看哈希值)

上传时间 Python 2 Python 3

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面