在 tox 中复制和安装包并像在 Dockerfile 中一样设置环境变量
Copy and install packages within tox and set environment variables like you would in a Dockerfile
在我的 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。
所以我已经尝试过了,它奏效了。为了尝试实现以上内容,这是我在 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
whitelist_externals
必须定义,如果你要有 tar, cp, echo, ls
等命令
在我的 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。
所以我已经尝试过了,它奏效了。为了尝试实现以上内容,这是我在 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
whitelist_externals
必须定义,如果你要有 tar, cp, echo, ls
等命令