python 在tox中复制和安装软件包,并像在Dockerfile中一样设置环境变量

atmip9wb  于 2023-03-28  发布在  Python
关注(0)|答案(1)|浏览(131)

在我的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中工作。

qgelzfjb

qgelzfjb1#

所以我试过了,它工作了。为了尝试实现上面的内容,我在我的tox.ini文件中放入了以下内容:

[testenv]

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

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

相关问题