跳转到主要内容

tiama项目pip处理

项目描述

tiama-pip

tiama项目pip处理

设置

为了能够使用与您的tiama打包应用程序一起使用的包,您需要将tiama-pip作为依赖项添加,并且您的run.py应类似如下

#!/usr/bin/env python3

import sys
import multiprocessing

import tiamatpip.cli
import tiamatpip.configure

import mainapp

# Configure the path where to install the new packages
tiamatpip.configure.set_user_site_packages_path("THIS SHOULD BE A HARDCODED PATH")


def main(argv):
    # Let's see if we should be handling pip related stuff
    if tiamatpip.cli.should_redirect_argv(argv):
        tiamatpip.cli.process_pip_argv(argv)
        # You can choose to `return` but there's really no need since the pip command
        # interceptions will trigger a `sys.exit` with the appropriate exit code.

    # If we reached this far, it means we're not handling pip stuff
    # Your application logic can resume

    mainapp.main(argv)
    sys.exit(0)


if __name__ == "__main__":
    if sys.platform.startswith("win"):
        multiprocessing.freeze_support()
    main(sys.argv)

用法

当您的包使用tiama编译并包含tiama-pip时,pip命令被拦截,并在您的打包二进制Python运行时中运行代码逻辑。

所有pip命令及其相应的CLI标志都受支持。

显示pip用法和帮助

your-project-binary pip --help
your-project-binary pip install --help

安装Python包

your-project-binary pip install foo
your-project-binary pip install foo>=2.1.0

列出已安装的包

your-project-binary pip list

这将列出使用pip安装的所有Python包,这些包不包括在二进制中

列出与二进制一起提供的包

如果您想了解与 tiamat 二进制文件一起分发的哪些包及其相应版本,请运行以下命令:

your-project-binary pip frozen

此命令不支持 pip。我们拦截调用并从正确位置获取包列表。此命令的 CLI 标志与 pip list 相同。

卸载包

your-project-binary pip uninstall foo

注意:只有通过 pip 安装的包可以卸载。与二进制文件一起分发的包**不能**卸载。

已知问题

  • 使用 pkg_resources.get_distribution(pkgname).version 获取升级包的版本将返回与 tiamat 二进制文件一起分发的包版本,而不是升级包版本。有关更多信息,请参阅 #11

项目详情


下载文件

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

源分布

tiamat-pip-1.11.0.tar.gz (36.4 kB 查看哈希)

上传时间

构建分布

tiamat_pip-1.11.0-py3-none-any.whl (2.2 MB 查看哈希)

上传时间 Python 3

支持者

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