2

每当我打开我的 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

非常感谢你的帮助。我对这一切还是半新的,并试图想办法解决。

4

1 回答 1

1

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

例如,要安装一个名为 <package-name> 的包,请将此行添加到.gitpod.Dockerfile

RUN python3 -m pip install <package-name>

从需求文件安装稍微复杂一些,因为 Dockerfile 在构建时无法“看到”该文件。一种解决方法是为 Dockerfile 提供 repo 中需求文件的 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

于 2021-12-20T00:34:03.310 回答