@@ -56,7 +56,7 @@ Why Python-mode?
5656
5757The plugin contains all you need to develop python applications in Vim.
5858
59- * Support Python and 3.6+
59+ * Support Python 3.10.13, 3.11.9, 3.12.4, 3.13.0
6060* Syntax highlighting
6161* Virtualenv support
6262* Run python code (` <leader>r ` )
@@ -143,6 +143,41 @@ Then rebuild **helptags** in vim:
143143** filetype-plugin** (` :help filetype-plugin-on ` ) and ** filetype-indent**
144144(` :help filetype-indent-on ` ) must be enabled to use python-mode.
145145
146+ # Docker Testing Environment
147+
148+ For consistent testing across different Python versions, python-mode provides a
149+ Docker-based testing environment. This is especially useful for contributors
150+ and developers who want to test the plugin with different Python versions.
151+
152+ ## Quick Start
153+
154+ ``` bash
155+ # Run tests with default Python version (3.13.0)
156+ ./scripts/run-tests-docker.sh
157+
158+ # Run tests with specific Python version
159+ ./scripts/run-tests-docker.sh 3.11
160+
161+ # Run tests with all supported Python versions
162+ ./scripts/test-all-python-versions.sh
163+ ```
164+
165+ ## Supported Python Versions
166+
167+ The Docker environment supports the following Python versions:
168+ - 3.10.13
169+ - 3.11.9
170+ - 3.12.4
171+ - 3.13.0 (default)
172+
173+ For detailed information about the Docker testing environment, see
174+ [ README-Docker.md] ( README-Docker.md ) .
175+
176+ ## Prerequisites
177+
178+ - Docker
179+ - Docker Compose
180+
146181# Troubleshooting/Debugging
147182
148183First read our short
@@ -188,6 +223,12 @@ Please, also provide more contextual information such as:
188223* ` git status ` (under your _ python-mode_ directory)
189224* ` tree <python-mode-directory> ` or something similar (such as ` ls -lR ` )
190225
226+ If you're using the Docker testing environment, also provide:
227+ * The output of ` docker --version ` and ` docker compose version `
228+ * The Python version used in Docker (if testing with a specific version)
229+ * Any Docker-related error messages
230+ * The output of ` ./scripts/run-tests-docker.sh --help ` (if available)
231+
191232# Frequent problems
192233
193234Read this section before opening an issue on the tracker.
@@ -207,12 +248,50 @@ is a good reference on how to build vim from source.
207248help you that much. Look for our branch with python2-support (old version,
208249not maintained anymore) (` last-py2-support ` ).
209250
251+ ## Python 3 Support
252+
253+ ` python-mode ` supports only Python 3. The project has completely removed Python 2
254+ support since version 0.11.0. Currently supported Python versions are:
255+ 3.10.13, 3.11.9, 3.12.4, and 3.13.0.
256+
257+ If you need Python 2 support, you can use the legacy ` last-py2-support ` branch,
258+ but it is no longer maintained.
259+
260+ ## Vim Python Support
261+
262+ Vim [ has issues] ( https://github.com/vim/vim/issues/3585 ) when compiled with
263+ both Python 2 and Python 3 support. For best compatibility with python-mode,
264+ build Vim with only Python 3 support. See
265+ [ this guide] ( https://github.com/ycm-core/YouCompleteMe/wiki/Building-Vim-from-source )
266+ for building Vim from source.
267+
210268## Symlinks on Windows
211269
212270Users on Windows OS might need to add ` -c core.symlinks=true ` switch to
213271correctly clone / pull repository. Example: `git clone --recurse-submodules
214272https://github.com/python-mode/python-mode -c core.symlinks=true`
215273
274+ ## Docker Testing Issues
275+
276+ If you encounter issues with the Docker testing environment:
277+
278+ 1 . ** Build Failures** : Ensure Docker and Docker Compose are properly installed
279+ and up to date. The Dockerfile requires Ubuntu 24.04 packages.
280+
281+ 2 . ** Python Version Issues** : Verify that the requested Python version is
282+ supported (3.10.13, 3.11.9, 3.12.4, 3.13.0). Use the major.minor format
283+ (e.g., ` 3.11 ` ) when specifying versions.
284+
285+ 3 . ** Vim Build Issues** : The Docker environment builds Vim from source with
286+ Python support for each version. Ensure sufficient disk space and memory
287+ for the build process.
288+
289+ 4 . ** Test Failures** : If tests fail in Docker but pass locally, check that
290+ all git submodules are properly initialized and the correct Python version
291+ is active.
292+
293+ For detailed troubleshooting, see [ README-Docker.md] ( README-Docker.md ) .
294+
216295## Error updating the plugin
217296
218297If you are trying to update the plugin (using a plugin manager or manually) and
@@ -242,6 +321,19 @@ the issue tracker at:
242321The contributing guidelines for this plugin are outlined at
243322` :help pymode-development ` .
244323
324+ Before contributing, please:
325+
326+ 1 . ** Test with Docker** : Use the Docker testing environment to ensure your
327+ changes work across all supported Python versions (3.10.13, 3.11.9, 3.12.4, 3.13.0)
328+
329+ 2 . ** Run Full Test Suite** : Use ` ./scripts/test-all-python-versions.sh ` to test
330+ with all supported Python versions
331+
332+ 3 . ** Check CI** : Ensure the GitHub Actions CI passes for your changes
333+
334+ 4 . ** Follow Development Guidelines** : See ` :help pymode-development ` for detailed
335+ development guidelines
336+
245337* Author: Kirill Klenov (< https://github.com/klen > )
246338* Maintainers:
247339 * Felipe Vieira (< https://github.com/fmv1992 > )
0 commit comments