gpt4 book ai didi

python - 如何将 Kedro 与 Pipenv 一起使用?

转载 作者:行者123 更新时间:2023-12-01 06:50:25 25 4
gpt4 key购买 nike

我目前正在使用 kedro,版本 0.15.4pipenv,版本 2018.11.26

目前,如果我想使用 Pipenv ,我必须执行以下操作(对于本示例,我希望该项目驻留在 kedro-pipenv 目录中):

  1. mkdir kedro-pipenv && cd kedro-pipenv
    • 这是必需的,以便创建的virtualenv“绑定(bind)”到项目目录,这仅意味着它的名称基于pipenv安装的目录名称执行 kedropipenv shell 命令。
    • 遗憾的是,目前 Pipenv 不具备支持自定义 virtualenv 名称的功能。
  2. pipenv 安装 kedro
    • 在我的示例中,这会生成一个名为 kedro-pipenv-AB9IGRnBvirtualenv,它位于以下位置 ~/.local/share/virtualenvs/kedro-pipenv-AB9IGRnB/
  3. pipenv shell
  4. kedro信息
    • 一切看起来都不错,kedro 已成功安装在 Pipenv 处理的 virualenv
  5. cd .. & kedro 新
    • 我向上导航一个目录,并提供 kedro-pipenv 作为项目的目录名称。鉴于该目录之前已在步骤 1 中创建,因此此操作会失败(这是预期的),并且我收到以下消息:
cookiecutter.exceptions.OutputDirExistsException:
Error: "/Users/xyz/projects/kedro-pipenv" directory already exists
Run with --verbose to see the full exception
Error: Failed to generate project.

为了“解决”这个问题,我在仍处于与之前相同的 virtualenv 的情况下执行以下操作:

  • mv kedro-pipenv kedro-pipenv_tmp
    • 重命名现有目录
  • kedro 新
    • 我提供 kedro-pipenv 作为项目的目录名称。
  • mv kedro-pipenv_tmp/Pipfile* kedro-pipenv && rm -rf kedro-pipenv_tmp
    • 需要执行此步骤,以便维护 Python 版本和单个 kedro 依赖项。
  • cd kedro-pipenv
  • kedro 安装
  • 使用 kedro build-reqs 管理项目需求。

我也熟悉 conda,目前看来,它是 Kedro 处理环境的一种更简洁的方式。

但是,对于我的大多数其他项目,我一直将 pyenvPipenv 结合使用来进行环境和依赖项管理。这允许我通过在每个项目的根目录中拥有一个 Pipfile 来将环境信息与特定的项目空间相关联。

有人对如何改进上述工作流程有任何建议吗?

最佳答案

如果您需要 Pipenv 环境根目录指向 Kedro 项目根目录,那么您的解决方案可能是目前情况下的最佳解决方案。如果您可以接受 Pipenv 环境根目录和 Kedro 项目目录具有不同的名称,那么您可以执行以下操作:

mkdir kedro-pipenv && cd kedro-pipenv
pipenv install kedro
pipenv run kedro new # create Kedro project inside 'kedro-pipenv'
cd <project-dir>
pipenv run kedro run # still works even in nested directory

正如您已经指出的,使用 conda 确实更容易,因为它的环境不依赖于任何特定目录,这与 pipenv 不同。

希望这有帮助!

关于python - 如何将 Kedro 与 Pipenv 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59037182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com