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

2024-04-27

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

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

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

myOwnPackage/
    myOwnPackage/
        __init__.py
    setup.py

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

myOwnPackage/
    dependencies/
        packageA
        packageB
    myOwnPackage/
        __init__.py
    setup.py

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

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

我没有找到在 setup.py 中包含依赖项名称的方法,就像我可以为官方 python 包所做的那样numpy、pyqt5 等

我找到了一种方法,通过使用 pip 来部分解决我的问题:

pip install -r requirements.txt myOwnPackage

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

./dependencies/packageA
./dependencies/packageB

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

myOwnPackage/
    dependencies/
        packageA/
            dependencies/
                packageC
            packageA/
                __init__.py
            setup.py
            requirements.txt
        packageB
    myOwnPackage/
        __init__.py
    setup.py
    requirements.txt

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

任何想法?


我几乎解决了我的问题。

我需要使用以下命令构建每个依赖项:python setup.py sdist为了创建单个包文件(tar.gz)

然后,我可以在顶级包 setup.py 中调用它们:

...
dependency_links=["file:/local/path/myOwnPackage/dependencies/packageA/dist/packageA-0.1.tar.gz"],
install_requires=["packageA"],
...

最后,我运行以下命令来安装myOwnPackage及其本地依赖项:

pip install . --process-dependency-links

如果按照上述方式正确构建和设置了所有存储库,它将安装所有递归依赖项。

--process-dependency-links已在最新版本的 pip 中删除...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • Opencv未找到所有轮廓

    我试图找到该图像的轮廓 但是该方法查找轮廓只返回1轮廓 轮廓突出显示image 2 我正在努力寻找all外部轮廓就像这些圆圈 里面有数字 我究竟做错了什么 我可以做什么来实现它 image 1 image 2 以下是我的代码的相关部分 th
  • 按行中的值选择 pandas 数据框中的列

    我有一个pandas DataFrame列太多 我想选择行中的值等于的所有列0 and 1 所有列的类型是int64我无法通过以下方式选择它们object或其他类型 我怎样才能做到这一点 IIUC 然后你可以使用isin http pand
  • PyDev 无法再调试

    我正在使用 eclipse 4 2 1 和 pydev 2 7 1 以前是 2 6 0 一切都工作正常 直到调试器突然停止工作 它打印 pydev debugger 开始 然后根本不运行程序 而是挂起 根据我在其他问题报告中找到的一些信息
  • 由于 __init__ 构造函数而产生的 Pytest 集合警告

    我一直在使用 Pytest 和 Selenium Web 驱动程序自学测试自动化 我所有的测试函数都在一个名为测试网络 py 它位于名为的目录中tests 我将所有函数分开 并将它们放在一个名为的单独目录中的自己的文件中测试用例 例如 这就
  • 在 Tensorflow 2.0 中的 tf.function input_signature 中使用字典

    我正在使用 Tensorflow 2 0 并面临以下情况 tf function def my fn items do stuff return 如果 items 是张量的字典 例如 item1 tf zeros 1 1 item2 tf
  • 使用 NumPy 数组执行分组平均值和标准差

    我有一组数据 X Y 我的自变量值 X 不是唯一的 因此有多个重复值 我想输出一个新数组 其中包含 X unique 它是 X 的唯一值的列表 Y mean 与 X unique 对应的所有 Y 值的平均值 Y std X unique对应
  • Pygame - 如何使 hitbox 与敌人的移动一起工作?

    我正在用 Pygame 制作一个 Python 游戏 目前正在研究 hitbox 程序应该暂停 设置play False 每当玩家与敌人碰撞时 只有当我注释掉所有敌人的移动 第 56 64 行 时它才 有效 但这显然不是最好的选择 我读过有
  • 如何获取 ndarray 的 x 和 y 维度 - Numpy / Python

    我想知道是否可以分别获取 ndarray 的 x 和 y 维度 我知道我可以使用ndarray shape获取表示维度的元组 但如何在 x 和 y 信息中分离它 先感谢您 您可以使用元组拆包 y x a shape
  • 在散景中隐藏轴

    如何在散景图中隐藏 x 轴和 y 轴 我已经根据此进行了检查和尝试 p1 figure visible None p1 select type Axis visible 0 xaxis Axis plot p1 visible 0 和喜欢h
  • 将 PyQt5 QPixmap 转换为 numpy ndarray

    我有像素图 pixmap self screen grabWindow 0 self x self y self width self height 我想将其转换为 OpenCV 格式 我尝试将其转换为numpy ndarray如上所述he
  • 比较两个类似列表的对象的内容的最佳方法是什么?

    例如 当我必须比较两个类似数组的对象的内容时lists tuples or collection deques 不考虑对象的类型 我使用 list an arrayish list another arrayish 有没有更惯用 更快 更好
  • 如何在 Flask-SQLAlchemy 中通过 id 删除记录

    I have users我的 MySql 数据库中的表 这张表有id name and age fields 我怎样才能删除一些记录id 现在我使用以下代码 user User query get id db session delete
  • 将画布的鼠标坐标转换为地理坐标

    我正在尝试使用 Python Tkinter 创建包含意大利所有城市的地图Canvas 我在网上找到了一张意大利地图的图片 其中突出显示了一些城市 并将其插入到我的Canvas 之后 我使用一个函数来确定 2 个突出显示的城市的画布坐标 i
  • python执行列表和函数列表[重复]

    这个问题在这里已经有答案了 我正在将 Python 2 7 与 Autodesk Maya 结合使用 这是我的问题的一个例子 import maya cmds as m def a passedString print this passe
  • Python 请求:使用 Multipart/form-data 在 Facebook 上发布图像

    我正在使用 facebook API 在页面上发布图像 我可以使用以下命令从网络发布图像 import requests data url url caption caption access token token status requ
  • 在组织内部分发我的 python 模块

    我用 python 制作了一些模块 我想将它们分发到我的组织内 这些模块已经存储在BitBucket中 例如 有什么方法可以使用 pip install 来分发它们吗 正确的方法是什么 您可以从 GitHub 进行 pip 安装 并且应该能
  • 如何将 tkinter 窗口放在其他窗口之上?

    我正在使用 Python 2Tkinter and PyObjC 然后我用py2app 该程序工作正常 但每当我打开该程序时 该窗口都会以隐藏状态开始 因此直到我单击扩展坞上的图标将其调出时 它才会出现 有什么方法可以控制这个 使窗口位于应
  • Python 类:通过传递值实现单例还是非单例?

    我有一个 Python 3 类 目前是使用 a 定义的单例 singleton装饰器 但有时需要not成为单身人士 问题 是否可以在从类实例化对象时执行类似于传递参数的操作 并且该参数确定该类是否是单例 我试图找到一种替代方法来复制类并使其
  • 按权重分组

    给定以下数据框 import pandas as pd d pd DataFrame Age 18 20 20 56 56 Race A A A B B Response 3 2 5 6 2 Weight 0 5 0 5 0 5 1 2 1
  • 在 Pandas 中按索引分组

    如何使用 groupby by 索引 1 2 3 它们的顺序相同 并获得属于每个索引范围的列分数的总和 基本上我有这个 index score 1 2 2 2 3 2 1 3 2 3 3 3 我想要的是 index score sum 1

随机推荐