@@ -1188,19 +1188,57 @@ select the option ``Open in VS Code``. You will still be working on the remote
1188
1188
codespace instance, thus using the remote instance's compute power. The compute
1189
1189
power may be a much higher spec than your local machine which can be helpful.
1190
1190
1191
+ .. c_codespaces_end
1192
+
1193
+ .. _devcontainer-directly :
1191
1194
1192
- Building the container locally
1193
- ------------------------------
1195
+ Using the dev container directly
1196
+ ================================
1194
1197
1195
1198
If you want more control over the environment, or to work offline,
1196
- you can build the container locally.
1199
+ you can use the same container used in
1200
+ :ref: `GitHub Codespaces <using-codespaces >` directly.
1197
1201
This is meant for users who have (or want to get) some experience
1198
1202
with containers.
1199
- The following instructions are a starting point for
1200
- your own customizations.
1201
- They assume a Unix-like environment, and Docker or Podman installed.
1203
+ These instructions assume a Unix-like environment with
1204
+ `Docker <https://www.docker.com/ >`__ or `Podman <https://podman.io/ >`__
1205
+ installed.
1206
+
1207
+ .. _devcontainer-image :
1208
+
1209
+ Using the pre-built container image
1210
+ -----------------------------------
1211
+
1212
+ `Dev container images <https://github.com/python/cpython-devcontainers/pkgs/container/devcontainer >`__
1213
+ are available from the
1214
+ `GitHub Container Registry (GHCR) account for the Python org <https://github.com/orgs/python/packages >`__ .
1215
+
1216
+ You can download the latest version of the container image via:
1217
+
1218
+ .. code-block :: bash
1219
+
1220
+ docker pull ghcr.io/python/devcontainer:latest
1221
+
1222
+ (Substitute ``podman `` for ``docker `` if you use Podman.)
1202
1223
1203
- In a clone of the `cpython-devcontainers repo <https://github.com/python/cpython-devcontainers >`_,
1224
+ To run the container and launch a Bash shell, run one of the following commands
1225
+ in a clone of the CPython repository.
1226
+
1227
+ .. code-block :: bash
1228
+
1229
+ docker run -it --rm --volume $PWD :/workspace --workdir /workspace ghcr.io/python/devcontainer:latest
1230
+
1231
+ .. code-block :: bash
1232
+
1233
+ podman run -it --rm --volume $PWD :/workspace:Z --workdir /workspace ghcr.io/python/devcontainer:latest
1234
+
1235
+ .. _devcontainer-build :
1236
+
1237
+ Building yourself
1238
+ -----------------
1239
+
1240
+ If you prefer, you can build the container image yourself. In a clone of the
1241
+ `cpython-devcontainers repo <https://github.com/python/cpython-devcontainers >`_,
1204
1242
build the container and name it ``cpython-dev ``:
1205
1243
1206
1244
.. code-block :: bash
@@ -1213,8 +1251,8 @@ The same command will update any existing ``cpython-dev`` container.
1213
1251
Run it again from time to time -- especially if the container stops
1214
1252
working for you.
1215
1253
1216
- To run the container, run one of the following commands in a clone of the
1217
- CPython repository.
1254
+ To run the container and launch a Bash shell , run one of the following commands
1255
+ in a clone of the CPython repository.
1218
1256
1219
1257
.. code-block :: bash
1220
1258
@@ -1224,11 +1262,8 @@ CPython repository.
1224
1262
1225
1263
podman run -it --rm --volume $PWD :/workspace:Z --workdir /workspace cpython-dev
1226
1264
1227
- Note that the container has read/write access to the working directory.
1228
- You may want to use a separate clone of CPython, or run ``make clean ``
1229
- to remove caches and build output generated for your host OS.
1230
-
1231
- .. c_codespaces_end
1265
+ The same caveats outlined above when running from a container image from GHCR
1266
+ also apply here.
1232
1267
1233
1268
1234
1269
0 commit comments