5
5
# Create a non-root user with `uid=499`.
6
6
RUN useradd -m -u 499 -s /bin/bash user && \
7
7
apt-get update && \
8
- apt-get install --no-install-recommends -qq -y python3.12 -venv && \
9
- apt-get clean -y
8
+ apt-get install --no-install-recommends -qq -y python3.13 -venv && \
9
+ apt-get clean -y && rm -rf /var/lib/apt/lists/*
10
10
11
11
USER user
12
12
@@ -17,7 +17,7 @@ WORKDIR /home/user
17
17
# but if you use Debian methods like `update-alternatives`
18
18
# it won't provide a `pip` which works easily and it isn't
19
19
# easy to know how system packages interact with pip packages
20
- RUN python3.12 -m venv venv
20
+ RUN python3.13 -m venv venv
21
21
22
22
# So scripts installed from pip are in $PATH
23
23
ENV PATH="/home/user/venv/bin:$PATH"
@@ -30,17 +30,20 @@ COPY --chmod=755 docker/trimesh-setup /home/user/venv/bin
30
30
# # install things that need building
31
31
FROM base AS build
32
32
33
+ USER root
34
+ # `xatlas` currently needs to compile on 3.13 from the sdist
35
+ RUN apt-get update && \
36
+ apt-get install --no-install-recommends -y python3.13-dev build-essential g++ && \
37
+ apt-get clean -y && rm -rf /var/lib/apt/lists/*
38
+ USER user
39
+
33
40
# copy in essential files
34
41
COPY --chown=499 trimesh/ /home/user/trimesh
35
42
COPY --chown=499 pyproject.toml /home/user/
36
43
37
44
# install trimesh into the venv
38
45
RUN pip install /home/user[easy]
39
46
40
- # install FCL from a hopefully temporary fork
41
- # as the original `python-fcl` currently has broken wheels on PyPi
42
- RUN pip install fclx
43
-
44
47
# ###################################
45
48
# ## Build output image most things should run on
46
49
FROM base AS output
@@ -62,7 +65,7 @@ COPY --chown=499 pyproject.toml .
62
65
COPY --chown=499 ./.git ./.git/
63
66
64
67
USER root
65
- RUN trimesh-setup --install=test,gmsh,gltf_validator,llvmpipe,binvox,blender
68
+ RUN trimesh-setup --install=test,gmsh,gltf_validator,llvmpipe,binvox,blender,build
66
69
USER user
67
70
68
71
RUN blender --version
0 commit comments