【问题标题】:Copy and install packages within tox and set environment variables like you would in a Dockerfile在 tox 中复制和安装软件包,并像在 Dockerfile 中一样设置环境变量
【发布时间】:2021-11-08 17:12:39
【问题描述】:

在我的 Dockerfile 中有这个:

ENV WORKDIR /home
ENV PYTHONPATH $WORKDIR
WORKDIR $WORKDIR

COPY resources/ $WORKDIR

# Install the JAVA
RUN tar -xvzf jdk-8u202-linux-x64.tar.gz -C /usr/
RUN rm jdk-8u202-linux-x64.tar.gz
ENV JAVA_HOME ../usr/jdk1.8.0_202
RUN export JAVA_HOME

我可以在 tox 中做同样的事情吗?我知道你可以通过在 tox.ini 中指定来运行命令,如下所示:

[toxenv:test]
install_command = pip install {opts} {packages}
commands = 
    <command1>
    <command2>

但我只是不知道在 Dockerfile 中可以使用的所有命令是否也可以在 tox 中使用。

【问题讨论】:

    标签: python docker tox


    【解决方案1】:

    所以我已经尝试过了,它奏效了。为了尝试实现上述内容,这是我放入 tox.ini 文件的内容:

    [testenv]
    
    setenv =
        LC_ALL = en_US.utf-8
        LANG = en_US.utf-8
        JAVA_HOME = {toxinidir}{/}jdk1.8.0_202
    whitelist_externals =
        tar
    commands =
        tar -xvzf resources/jdk-8u202-linux-x64.tar.gz
    

    如果您要使用tar, cp, echo, ls 等命令,则必须定义whitelist_externals

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-09
      • 2018-11-17
      • 1970-01-01
      相关资源
      最近更新 更多