在预构建 gitpod.yml 中设置 requirements.txt

Setting up requirements.txt in prebuild gitpod.yml

每当我打开我的 gitpod 工作区时,我都必须重新安装我的 requirements.txt 文件。我正在阅读 gitpod.yml 文件,发现我必须将它添加到那里,以便在预构建期间安装依赖项。

我找不到这方面的任何例子,所以我只是想看看我是否理解正确。

现在我的 gitpod.yml 文件看起来像这样...

    image:
       file: .gitpod.Dockerfile

    # List the start up tasks. Learn more https://www.gitpod.io/docs/config-start-tasks/
    tasks:
      - init: echo 'init script' # runs during prebuild
        command: echo 'start script'
    
    # List the ports to expose. Learn more https://www.gitpod.io/docs/config-ports/
    ports:
      - port: 3000
        onOpen: open-preview

    vscode:
      extensions:
        - ms-python.python
        - ms-azuretools.vscode-docker
        - eamodio.gitlens
        - batisteo.vscode-django
        - formulahendry.auto-close-tag
        - esbenp.prettier-vscode

我是否只在任务下添加这两行新的 'init' 和 'command'?

    image:
      file: .gitpod.Dockerfile

    # List the start up tasks. Learn more https://www.gitpod.io/docs/config-start-tasks/
    tasks:
      - init: echo 'init script' # runs during prebuild
        command: echo 'start script'
      - init: pip3 install -r requirements.txt
        command: python3 manage.py

    # List the ports to expose. Learn more https://www.gitpod.io/docs/config-ports/
    ports:
      - port: 3000
        onOpen: open-preview

    vscode:
      extensions:
        - ms-python.python
        - ms-azuretools.vscode-docker
        - eamodio.gitlens
        - batisteo.vscode-django
        - formulahendry.auto-close-tag
        - esbenp.prettier-vscode

非常感谢您的帮助。我对这一切仍然是半新的,并试图找到解决办法。

要在预构建中安装要求,您必须将它们安装在 Dockerfile 中。例外是可编辑安装,pip install -e ..

例如,要安装名为 的包,请将此行添加到 .gitpod.Dockerfile:

RUN python3 -m pip install <package-name>

从需求文件安装有点棘手,因为 Dockerfile 在构建时无法“看到”该文件。一种解决方法是为 Dockerfile 提供存储库中需求文件的 URL。

RUN python3 -m pip install -r https://gitlab.com/<gitlab-username>/<repo-name>/-/raw/master/requirements.txt

编辑:见证我今天与同样问题的尴尬斗争:https://github.com/gitpod-io/gitpod/issues/7306