Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Google-Summer-of-Code-2026.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
20 changes: 10 additions & 10 deletions Installing-Oppia-(Linux;-Python-3).md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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
...
Expand Down
28 changes: 14 additions & 14 deletions Installing-Oppia-(Mac-OS;-Python-3).md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 <module>
main()
Expand Down
2 changes: 1 addition & 1 deletion Third-party-libraries.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 6 additions & 6 deletions Troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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"
Expand All @@ -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
```

Expand Down
Loading