Common Issues
Common issues and problems that we know of.
These are some of the common issues that we know of. Let us know if you find other issues not listed here.
If you see something like below when running the web server:
django.db.utils.IntegrityError: The row in table 'common_class' with primary key '1' has an invalid foreign key: common_class.teacher_id contains a value '1' that does not have a corresponding value in portal_teacher.id.
The error is potentially caused by a wrong or incompatible sqlite3 version. You can check the sqlite3 version from a python shell with:
import sqlite3
sqlite3.sqlite_version.
At the point of writing, sqlite3 version is at
3.35.5
.You need to install/update sqlite3 with brew:
brew install sqlite3
. Then follow the instructions in brew info sqlite3
before installing a python version with pyenv
.If you need to have sqlite first in your PATH, run:
echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.zshrc
For compilers to find sqlite you may need to set:
export LDFLAGS="-L/usr/local/opt/sqlite/lib"
export CPPFLAGS="-I/usr/local/opt/sqlite/include"
If you already installed a python version using pyenv and the virtual environment with pipenv, you need to clear them up:
pyenv versions
pyenv uninstall <PYTHON VERSION>
pipenv --rm
Check if the db has been created, and if the file exists, delete it:
rm example_project/db.sqlite3
If you get an error complaining about a missing module when running
run
, e.g.File "/usr/lib/python3.7/imp.py", line 296, in find_module
raise ImportError(_ERR_MSG.format(name), name=name)
ImportError: No module named 'portal'
Try the following:
- exit out of pipenv
- remove the virtual env with
pipenv --rm
- reinstall with
pipenv install --dev
- re-enter pipenv:
pipenv shell
If you get an error when running the command
./run.py
or ./run.py -k
locally that states, somewhere in the traceback, no module named google.auth
; then rerun the command again and the dependency should be detected. This is a logged issue.Run a pip install command to install django before running the project. Django should then resolve all the other dependencies specified in the setup file. To do this run:
pip install django=={version}
. You can find version
from the setup.py
file at the time.If you have problems seeing the portal on machines with different locale (e.g. Polish), check the terminal for errors mentioning
ValueError: unknown locale: UTF-8
. If you see them, you need to have environment variables LANG
and LC_ALL
both set to en_US.UTF-8
.- Either export them in your
.bashrc
or.bash_profile
- or restart the portal with command
LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 ./run
.
Last modified 2yr ago