将两个Python包捆绑在一起

2024-04-24 04:49:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python包myapp,它依赖于Python包theirapp。你知道吗

theirapp被其他人使用,可能会偶尔更新,但它不是托管在PyPI上的。你知道吗

我目前的存储库设置如下:

my-app/
    myapp/
        __init__.py
    requirements.txt
    their-app/
        setup.py
        theirapp/
            __init__.py

我的requirements.txt文件包含以下行(以及其他行):

./their-app/

their-app不在PyPI上,但我想确保安装了最新版本。到目前为止,我已经下载了一个包含my-app并键入pip install -U requirements.txt的zip文件,并手动使用该应用程序。你知道吗

我想做一个可安装的Python包。理想情况下,我想下载一个my-app.zip文件并键入pip install my-app.zip来安装myapptheirapp和任何其他依赖项。你知道吗

这可能吗?如果没有,处理这种情况的最佳方法是什么?你知道吗


Tags: installpip文件pytxtpypiapp键入
1条回答
网友
1楼 · 发布于 2024-04-24 04:49:03

您可能只需要将theirapp打包为项目的一部分,并将其作为myapp.contrib.theirapp导入即可。如果两个项目都用git进行版本控制,那么可以将其实现为submodule,但这可能会增加维护人员的复杂性。你知道吗

pip如何处理类似问题: https://github.com/pypa/pip/tree/develop/pip/_vendor

您可以看到pip将捆绑的供应商包导入为pip._vendor.theirapp。你知道吗

相关问题 更多 >