小编ava*_*ygn的帖子

如何安装我的自定义 Python 包及其自定义依赖项?

我想找到一种方法来安装我自己的 python 包,该包依赖于其他自定义 python 包。

我按照本指南创建了自己的 python 包:https://python-packaging.readthedocs.iao/en/latest/

对于所有包,最小结构是:

myOwnPackage/
    myOwnPackage/
        __init__.py
    setup.py
Run Code Online (Sandbox Code Playgroud)

现在,我创建了一个依赖于其他自定义包的包。其结构为:

myOwnPackage/
    dependencies/
        packageA
        packageB
    myOwnPackage/
        __init__.py
    setup.py
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何myOwnPackage使用 pip 轻松安装及其自定义依赖项?

对于上面的示例,我想在调用 pip 时安装 myOwnPackage、packageA 和 packageB:pip install myOwnPackage

我没有找到一种在 setup.py 中包含依赖项名称的方法,就像我可以为官方 python 包(如numpypyqt5 等)所做的那样。

我找到了一种方法来部分解决我的问题,方法是使用 pip 的 requests.txt :

pip install -r requirements.txt myOwnPackage

这是我编写需求文件的方式:

./dependencies/packageA
./dependencies/packageB
Run Code Online (Sandbox Code Playgroud)

我工作得很好,但当我有这样的递归依赖项时就不行了:

myOwnPackage/
    dependencies/
        packageA/
            dependencies/
                packageC
            packageA/
                __init__.py
            setup.py
            requirements.txt
        packageB
    myOwnPackage/
        __init__.py
    setup.py
    requirements.txt
Run Code Online (Sandbox Code Playgroud)

具有顶级requirements.txt的pip将安装myOwnPackage、packageA和packageB,但它不知道它必须安装packageC,这是packageA的依赖项。

任何想法?

python pip package

7
推荐指数
1
解决办法
5619
查看次数

标签 统计

package ×1

pip ×1

python ×1