diff --git a/Google-Summer-of-Code-2026.md b/Google-Summer-of-Code-2026.md index 8cbf0880..bb169928 100644 --- a/Google-Summer-of-Code-2026.md +++ b/Google-Summer-of-Code-2026.md @@ -85,7 +85,7 @@ Good luck! A: Please see the individual project ideas to determine which skills are recommended for the project in question. Also, in general: - - For Oppia Web, Angular 2+, Python 3.10, Google App Engine and Apache Beam are useful and recommended, and experience with GitHub Actions is useful for developer workflow projects. Also, it is important to be able to write tests for the code you submit (using Karma, Puppeteer and unittest). You might also find this [[page of learning resources|Learning-Resources]] helpful, as well as other pages on our [wiki](https://github.com/oppia/oppia/wiki) that provide guidance on Apache Beam, testing frameworks, etc. + - For Oppia Web, Angular 2+, Python 3.12, Google App Engine and Apache Beam are useful and recommended, and experience with GitHub Actions is useful for developer workflow projects. Also, it is important to be able to write tests for the code you submit (using Karma, Puppeteer and unittest). You might also find this [[page of learning resources|Learning-Resources]] helpful, as well as other pages on our [wiki](https://github.com/oppia/oppia/wiki) that provide guidance on Apache Beam, testing frameworks, etc. - For Oppia Android, you will need to know how to program in Kotlin, and have experience with Android development. Knowledge of Bazel may also be helpful for some projects. diff --git a/Installing-Oppia-(Linux;-Python-3).md b/Installing-Oppia-(Linux;-Python-3).md index 04a60d2f..960d21cc 100644 --- a/Installing-Oppia-(Linux;-Python-3).md +++ b/Installing-Oppia-(Linux;-Python-3).md @@ -139,12 +139,12 @@ For your virtual environment, we recommend you use [pyenv](https://github.com/py ```bash exec "$SHELL" ``` -4. Now you can install Python 3.10.16 and the associated pip like this: +4. Now you can install Python 3.12.13 and the associated pip like this: ```console - $ pyenv install 3.10.16 - installing python-3.10.16... - installed python-3.10.16 to /home/user/.pyenv/versions/3.10.16 + $ pyenv install 3.12.13 + installing python-3.12.13... + installed python-3.12.13 to /home/user/.pyenv/versions/3.12.13 ``` 5. Install direnv @@ -188,7 +188,7 @@ exec "$SHELL" with this content: ```console - use python 3.10.16 + use python 3.12.13 ``` Then run this command in the same folder: @@ -408,21 +408,21 @@ On Arch Linux, you should follow these instructions to set up your virtual envir 3. Reload your shell or open a new terminal window to load your updated `.bashrc`, `.zshrc`, or `config.fish` -4. Now you can install Python 3.10.16 and the associated pip like this: +4. Now you can install Python 3.12.13 and the associated pip like this: ```console - $ pyenv install 3.10.16 - installing python-3.10.16... + $ pyenv install 3.12.13 + installing python-3.12.13... patching file misc/news.d/next/build/2021-10-11-16-27-38.bpo-45405.isfdw5.rst patching file configure patching file configure.ac - installed python-3.10.16 to /home/user/.pyenv/versions/3.10.16 + installed python-3.12.13 to /home/user/.pyenv/versions/3.12.13 ``` 5. Create a virtual environment for oppia: ```console - $ pyenv virtualenv 3.10.16 oppia + $ pyenv virtualenv 3.12.13 oppia ... $ pyenv versions ... diff --git a/Installing-Oppia-(Mac-OS;-Python-3).md b/Installing-Oppia-(Mac-OS;-Python-3).md index 3a65c2a0..4b5202a0 100644 --- a/Installing-Oppia-(Mac-OS;-Python-3).md +++ b/Installing-Oppia-(Mac-OS;-Python-3).md @@ -179,45 +179,45 @@ For your virtual environment, we recommend you use [pyenv](https://github.com/py 2. Reload your shell or open a new terminal window to load your updated `~/.bash_profile` or `~/.zshrc`. -3. Install Python 3.10.16: +3. Install Python 3.12.13: ```console - $ pyenv install 3.10.16 + $ pyenv install 3.12.13 Installing openssl-1.1.1k.. - Installed openssl-1.1.1k to /Users/user/.pyenv/versions/3.10.16 + Installed openssl-1.1.1k to /Users/user/.pyenv/versions/3.12.13 Installing readline-8.1... - Installed readline-8.1 to /Users/user/.pyenv/versions/3.10.16 + Installed readline-8.1 to /Users/user/.pyenv/versions/3.12.13 - Downloading Python-3.10.16.tar.xz... - -> https://www.python.org/ftp/python/3.10.16/Python-3.10.16.tar.xz - Installing Python-3.10.16... + Downloading Python-3.12.13.tar.xz... + -> https://www.python.org/ftp/python/3.12.13/Python-3.12.13.tar.xz + Installing Python-3.12.13... patching file Misc/NEWS.d/next/Build/2021-10-11-16-27–38.bpo-45405.iSfdw5.rst patching file configure patching file configure.ac python-build: use zlib from xcode sdk - Installed Python-3.10.16 to /Users/user/.pyenv/versions/3.10.16 + Installed Python-3.12.13 to /Users/user/.pyenv/versions/3.12.13 ``` 4. Make Python 3 available globally on your system: ```console - pyenv global 3.10.16 + pyenv global 3.12.13 ``` - Note that you can use a different version of Python 3 if you prefer--we'll specify Python 3.10.16 as our version for Oppia development later. + Note that you can use a different version of Python 3 if you prefer--we'll specify Python 3.12.13 as our version for Oppia development later. 5. Create a virtual environment for oppia by making a file `.envrc` in the `opensource/` directory with the following contents: ```text - use python 3.10.16 + use python 3.12.13 ``` Then run `direnv allow` in the `opensource/` directory to allow `direnv` to run there. Whenever you are within the `opensource/` directory (or any of its subdirectories, or any of their subdirectories, etc.) the virtual environment will be active. You can confirm this by running: ```console $ which python - .../opensource/.direnv/python-3.10.16/bin/python + .../opensource/.direnv/python-3.12.13/bin/python ``` ## Running Oppia on a development server @@ -299,9 +299,9 @@ For your virtual environment, we recommend you use [pyenv](https://github.com/py Traceback (most recent call last): - File "/Users/user/.pyenv/versions/3.10.16/lib/python3.10/runpy.py", line 174, in _run_module_as_main + File "/Users/user/.pyenv/versions/3.12.13/lib/python3.12/runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) - File "/Users/user/.pyenv/versions/3.10.16/lib/python3.10/runpy.py", line 72, in _run_code + File "/Users/user/.pyenv/versions/3.12.13/lib/python3.12/runpy.py", line 72, in _run_code exec code in run_globals File "/opensource/oppia/scripts/start.py", line 205, in main() diff --git a/Third-party-libraries.md b/Third-party-libraries.md index fd06c1d6..0d53765b 100644 --- a/Third-party-libraries.md +++ b/Third-party-libraries.md @@ -40,7 +40,7 @@ At Oppia we have a lot of dependencies, and we have many different ways of manag Oppia has some development dependencies that the user has to manage themselves. These are: -* Python 3.10 +* Python 3.12 * Google Chrome * git * Tools commonly found on Linux and MacOS systems like bash diff --git a/Troubleshooting.md b/Troubleshooting.md index 6382d858..6277ed0f 100644 --- a/Troubleshooting.md +++ b/Troubleshooting.md @@ -166,9 +166,9 @@ If you see an error that says something along the lines of `OSError: [Errno 2] N If you see an error that says something along the lines of `ERROR: gcloud failed to load: No module named _sqlite3` while running `scripts.start` - then follow the steps below: -1. Uninstall Python 3.10.16 from pyenv with the command: `pyenv uninstall 3.10.16` +1. Uninstall Python 3.12.13 from pyenv with the command: `pyenv uninstall 3.12.13` 2. Install the packages as per the [wiki](https://github.com/pyenv/pyenv/wiki#suggested-build-environment) to have the suggested build environment. -3. Install Python 3.10.16 from pyenv with the command: `pyenv install 3.10.16` and make sure that there are no warnings or errors in the output of the command. +3. Install Python 3.12.13 from pyenv with the command: `pyenv install 3.12.13` and make sure that there are no warnings or errors in the output of the command. ### Problems Cloning from GitHub @@ -467,7 +467,7 @@ If this error occurs within a virtual environment, try reinstalling the libs by ### ModuleNotFoundError: No module named \_bz2 1. Install bz2 headers. Use the command `sudo apt-get install libbz2-dev` on Ubuntu. -2. Install Python 3 again so that the bz2 library gets included in `~/.pyenv/versions/3.10.16/lib/python3.10/`. Use the command `pyenv install 3.10.16`. +2. Install Python 3 again so that the bz2 library gets included in `~/.pyenv/versions/3.12.13/lib/python3.12/`. Use the command `pyenv install 3.12.13`. ### Subprocess.CalledProcessError: Command 'yarn install --pure-lockfile' returned non-zero exit status 1 @@ -548,7 +548,7 @@ Traceback (most recent call last): Then, -1. Open your `.bash_profile` file, and check if there are two versions of Python listed inside of it, one for Python 2.7 and other for Python 3.10. Simply remove the entry for Python 2.7. Finally, this is how your file should look like: +1. Open your `.bash_profile` file, and check if there are two versions of Python listed inside of it, one for Python 2.7 and other for Python 3.12. Simply remove the entry for Python 2.7. Finally, this is how your file should look like: ``` export PYENV_ROOT="$HOME/.pyenv" @@ -558,9 +558,9 @@ eval "$(pyenv init --path)" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" -# Setting PATH for Python 3.10 +# Setting PATH for Python 3.12 # The original version is saved in .bash_profile.pysave -PATH="/Library/Frameworks/Python.framework/Versions/3.10/bin:${PATH}" +PATH="/Library/Frameworks/Python.framework/Versions/3.12/bin:${PATH}" export PATH ```