# Open edX notes installation

**URL:** https://discuss.openedx.org/t/open-edx-notes-installation/1000
**Category:** Site Operations Help
**Created:** [December 10, 2019, 3:32pm UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000 "2019-12-10T15:32:00Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![Melsu](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/melsu/32/1978_2.png) [@Melsu](https://discuss.openedx.org/u/Melsu)
#### Post date: [December 10, 2019, 3:32pm UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/1 "2019-12-10T15:32:00Z")

</div>

Hi community

I am trying to install notes and annotations using guide from [https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/26182212/How+to+Get+edX+Notes+Running](https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/26182212/How+to+Get+edX+Notes+Running)

While i am Installing the edx-notes-api using ansible as per step 5 i am getting below error.

Please advice how can i go about it?

failed: [localhost] (item=base.txt) =\> {“cmd”: “/edx/app/edx\_notes\_ap  
i/venvs/edx\_notes\_api/bin/pip2 install --exists-action w -r /edx/app/  
edx\_notes\_api/edx\_notes\_api/requirements/base.txt”, “failed”: true, "  
item": “base.txt”, “msg”: “stdout: Collecting coreapi==2.3.3\n Using  
cached [https://files.pythonhosted.org/packages/fc/3a/9dedaad22962770](https://files.pythonhosted.org/packages/fc/3a/9dedaad22962770)  
edd334222f2b3c3e7ad5e1c8cab1d6a7992c30329e2e5/coreapi-2.3.3-py2.py3-n  
one-any.whl\nCollecting coreschema==0.0.4\n Using cached [https://fil](https://fil)  
[es.pythonhosted.org/packages/91/64/960eefea2a1c48dfaaa39341aa5774cde1](http://es.pythonhosted.org/packages/91/64/960eefea2a1c48dfaaa39341aa5774cde1)  
c0b41579cf67d9ec79b532435c/coreschema-0.0.4-py2-none-any.whl\nCollect  
ing django-cors-headers==2.4.0\n Using cached [https://files.pythonho](https://files.pythonho)  
[sted.org/packages/cc/7e/83ba784ad2b95317bbbed915f0888d7d1cd8dc3d2e4b8](http://sted.org/packages/cc/7e/83ba784ad2b95317bbbed915f0888d7d1cd8dc3d2e4b8)  
ddec8fbc4c3e800/django\_cors\_headers-2.4.0-py2.py3-none-any.whl\nColle  
cting django-haystack==2.8.0\n Using cached [https://files.pythonhost](https://files.pythonhost)  
[ed.org/packages/4c/86/8896df37631f76751695c2660e52bd7ea6f3016b6443da6](http://ed.org/packages/4c/86/8896df37631f76751695c2660e52bd7ea6f3016b6443da6)  
debcf79b3dd08/django\_haystack-2.8.0-py2-none-any.whl\nCollecting djan  
go-rest-swagger==2.1.2\n Using cached [https://files.pythonhosted.org](https://files.pythonhosted.org)  
/packages/2c/12/28d0677756283d913f8371ad7590e16f5e6c8444044f5b1b1586f  
956e610/django\_rest\_swagger-2.1.2-py2.py3-none-any.whl\nCollecting dj  
ango-waffle==0.18.0\n Using cached [https://files.pythonhosted.org/pa](https://files.pythonhosted.org/pa)  
ckages/ac/cf/1697fd14b61315b36d6c1f00b632426c19106a0afd13c18d43e7f428  
755f/django\_waffle-0.18.0-py2.py3-none-any.whl\nCollecting django==1.  
11.26\n Using cached [https://files.pythonhosted.org/packages/cf/19/6](https://files.pythonhosted.org/packages/cf/19/6)  
32a613bc37bbf890f9323ba09374ce9af1d70bb4cba7ff4d3e5e0991b47/Django-1.  
11.26-py2.py3-none-any.whl\nCollecting djangorestframework-jwt==1.11.  
0\n Using cached [https://files.pythonhosted.org/packages/2b/cf/b3932](https://files.pythonhosted.org/packages/2b/cf/b3932)  
ad3261d6332284152a00c3e3a275a653692d318acc6b2e9cf6a1ce3/djangorestfra  
mework\_jwt-1.11.0-py2.py3-none-any.whl\n\n:stderr: DEPRECATION: Pytho  
n 2.7 will reach the end of its life on January 1st, 2020. Please upg  
rade your Python as Python 2.7 won’t be maintained after that date. A  
future version of pip will drop support for Python 2.7. More details  
about Python 2 support in pip, can be found at [https://pip.pypa.io/e](https://pip.pypa.io/e)  
n/latest/development/release-process/#python-2-support\nERROR: Could  
not find a version that satisfies the requirement djangorestframework  
==3.10.3 (from -r /edx/app/edx\_notes\_api/edx\_notes\_api/requirements/b  
ase.txt (line 15)) (from versions: 0.1, 0.1.1, 0.2.0, 0.2.1, 0.2.2, 0  
.2.3, 0.2.4, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.4.0, 2.0.0, 2.0.1, 2.0.2,  
2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.1.6, 2.1.7, 2.1.8, 2.1.9,  
2.1.10, 2.1.11, 2.1.12, 2.1.13, 2.1.14, 2.1.15, 2.1.16, 2.1.17, 2.2.  
0, 2.2.1, 2.2.2, 2.2.3, 2.2.4, 2.2.5, 2.2.6, 2.2.7, 2.3.0, 2.3.1, 2.3  
.2, 2.3.3, 2.3.4, 2.3.5, 2.3.6, 2.3.7, 2.3.8, 2.3.9, 2.3.10, 2.3.11,  
2.3.12, 2.3.13, 2.3.14, 2.4.0, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4  
.6, 2.4.8, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.1.0, 3.1.1, 3.  
1.2, 3.1.3, 3.2.0, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.3.0, 3.3.1, 3  
.3.2, 3.3.3, 3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.7,  
3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.6.0, 3.6.1, 3.6.2, 3.6.3, 3.6.4,  
3.7.0, 3.7.1, 3.7.2, 3.7.3, 3.7.4, 3.7.5, 3.7.6, 3.7.7, 3.8.0, 3.8.1  
, 3.8.2, 3.9.0, 3.9.1, 3.9.2, 3.9.3, 3.9.4)\nERROR: No matching distr  
ibution found for djangorestframework==3.10.3 (from -r /edx/app/edx\_n  
otes\_api/edx\_notes\_api/requirements/base.txt (line 15))\n”}  
to retry, use: --limit @/edx/app/edx\_ansible/edx\_ansible/play  
books/notes.retry

PLAY RECAP \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

* * *

localhost : ok=90 changed=15 unreachable=0 fa  
iled=1

INFO:/edx/app/edx\_ansible/edx\_ansible/playbooks/callback\_plugins/task  
\_timing: Install ubuntu system packages -----------------------------  
--------------------- 4.71s  
INFO:/edx/app/edx\_ansible/edx\_ansible/playbooks/callback\_plugins/task  
\_timing: Install role-independent useful system packages [0] --------  
--------------------- 4.55s  
INFO:/edx/app/edx\_ansible/edx\_ansible/playbooks/callback\_plugins/task  
\_timing: Install system packages ------------------------------------  
--------------------- 4.26s  
INFO:/edx/app/edx\_ansible/edx\_ansible/playbooks/callback\_plugins/task  
\_timing: Install the nginx package ----------------------------------  
--------------------- 4.24s  
INFO:/edx/app/edx\_ansible/edx\_ansible/playbooks/callback\_plugins/task  
\_timing: Checkout code over https -----------------------------------  
--------------------- 4.14s  
INFO:/edx/app/edx\_ansible/edx\_ansible/playbooks/callback\_plugins/task  
\_timing: Install application requirements ---------------------------  
--------------------- 2.10s  
INFO:/edx/app/edx\_ansible/edx\_ansible/playbooks/callback\_plugins/task  
\_timing: pip install virtualenv -------------------------------------  
--------------------- 2.03s  
INFO:/edx/app/edx\_ansible/edx\_ansible/playbooks/callback\_plugins/task  
\_timing: Install aws python packages --------------------------------  
--------------------- 1.28s  
INFO:/edx/app/edx\_ansible/edx\_ansible/playbooks/callback\_plugins/task  
\_timing: Copy the templates to their respestive destination ---------  
--------------------- 1.22s  
INFO:/edx/app/edx\_ansible/edx\_ansible/playbooks/callback\_plugins/task  
\_timing: Install supervisor in its venv [1] -------------------------  
--------------------- 1.12s  
INFO:/edx/app/edx\_ansible/edx\_ansible/playbooks/callback\_plugins/task  
\_timing:  
Playbook Deploy edX Notes API finished: 2019-12-10 14:38:43.127766, 1  
95 total tasks. 0:00:55.692172 elapsed.

---

<div class="post-metadata">

### Author: ![jramnai](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/jramnai/32/87_2.png) [@jramnai](https://discuss.openedx.org/u/jramnai)
#### Post date: [December 11, 2019, 8:16am UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/2 "2019-12-11T08:16:37Z")

</div>

> [@Melsu](#):
>
> ERROR: No matching distr  
> ibution found for djangorestframework==3.10.3 (from -r /edx/app/edx\_n  
> otes\_api/edx\_notes\_api/requirements/base.txt (line 15))\n”}

Your error trace says that it has issue with **distribution of djangorestframework**.

In master branch djangorestframework version has been upgraded to **3.10.3** from **3.6.3** , check requirements/base.txt file in [this commit.](https://github.com/edx/edx-notes-api/commit/e3d4cac5a0e57337420345478ae23f895fc9a9fd)

This is happening becuse your configuration repo will be master.

Checkout configuration repo to **open-release/ironwood.master** if you don’t have any diff in it, then try again.

---

<div class="post-metadata">

### Author: ![Melsu](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/melsu/32/1978_2.png) [@Melsu](https://discuss.openedx.org/u/Melsu)
#### Post date: [December 11, 2019, 11:09pm UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/3 "2019-12-11T23:09:07Z")

</div>

Thanks

I will try this.

---

<div class="post-metadata">

### Author: ![brenton.kreiger](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@brenton.kreiger](https://discuss.openedx.org/u/brenton.kreiger)
#### Post date: [May 24, 2020, 7:37pm UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/4 "2020-05-24T19:37:11Z")

</div>

Hi @Melsu, did you ever figure this out? I am getting a similar error but with the django-cors-header not matching. I am pretty new to this all, but I have spent many hours tracking errors and with no success. Thanks!

---

<div class="post-metadata">

### Author: ![Melsu](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/melsu/32/1978_2.png) [@Melsu](https://discuss.openedx.org/u/Melsu)
#### Post date: [May 25, 2020, 6:26am UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/5 "2020-05-25T06:26:04Z")

</div>

Hi @brenton.kreiger

So I did follow 3 instructions to get through this. I will try and document that for you by EOD today.

---

<div class="post-metadata">

### Author: ![brenton.kreiger](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@brenton.kreiger](https://discuss.openedx.org/u/brenton.kreiger)
#### Post date: [May 28, 2020, 2:12pm UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/6 "2020-05-28T14:12:24Z")

</div>

Thanks @Melsu - did you ever end up getting to this?

---

<div class="post-metadata">

### Author: ![Selli](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/selli/32/1062_2.png) [@Selli](https://discuss.openedx.org/u/Selli)
#### Post date: [June 1, 2020, 1:50pm UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/7 "2020-06-01T13:50:23Z")

</div>

Hi @brenton.kreiger

You follow Lawrence McDaniel’s blog step 1 & step 2. Additionally define Version in step 2 as open-release/ironwood.2  
While performing step 3  
First and foremost even before using source command do

sudo vim /edx/app/edx\_ansible/edx\_ansible/playbooks/notes.yml

Add #/comment out -aws in role section.

Then follow

source /edx/app/edx\_ansible/venvs/edx\_ansible/bin/activate  
cd /edx/app/edx\_ansible/edx\_ansible/playbooks  
sudo ansible-playbook -i ‘localhost,’ -c local ./run\_role.yml -e ‘role=edxlocal’ -e@roles/edx\_notes\_api/defaults/main.yml

Subsequently run these 2 additional commands before going to step 4

sudo ansible-playbook -i ‘localhost,’ -c local ./run\_role.yml -e ‘role=nginx’ -e ‘nginx\_sites=edx\_notes\_api’ -e@roles/edx\_notes\_api/defaults/main.yml

&

sudo ansible-playbook -i ‘localhost,’ -c local ./run\_role.yml -e ‘role=edx\_notes\_api’ -e@roles/edx\_notes\_api/defaults/main.yml

Continue to step 4 and make sure you don’t use

-e@/edx/app/edx\_ansible/server-vars.yml

I think this shall work is what melsu told me. He isn’t able to come online due to personal reasons and he apologies for the delay.

Regards

Patel

---

<div class="post-metadata">

### Author: ![brenton.kreiger](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@brenton.kreiger](https://discuss.openedx.org/u/brenton.kreiger)
#### Post date: [June 2, 2020, 2:01pm UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/8 "2020-06-02T14:01:16Z")

</div>

Thank you so much for your help! I am still running into a few issues -

When I run the “2 additional commands” -

sudo ansible-playbook -i ‘localhost,’ -c local ./run\_role.yml -e ‘role=nginx’ -e ‘nginx\_sites=edx\_notes\_api’ -e@roles/edx\_notes\_api/defaults/main.yml  
&  
sudo ansible-playbook -i ‘localhost,’ -c local ./run\_role.yml -e ‘role=edx\_notes\_api’ -e@roles/edx\_notes\_api/defaults/main.yml

I get “ERROR! ‘role’ is undefined” or "ERROR! the playbook: ‘niginx\_sites=edx\_notes\_api’ could not be found’

I am also receiving the following error when I follow step 3, I don’t know if it is contributing to this problem  
I am having later in the additional steps -

TASK [mysql : Look for mysql 5.6] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
fatal: [localhost]: FAILED! =\> {“changed”: false, “cmd”: “dpkg -s mysql-server”, “delta”: “0:00:00.023480”, “end”: “2020-06-02 13:51:29.291993”, “failed”: true, “rc”: 1, “start”: “2020-06-02 13:51:29.268513”, “stderr”: “dpkg-query: package ‘mysql-server’ is not installed and no information is available\nUse dpkg --info (= dpkg-deb --info) to examine archive files,\nand dpkg --contents (= dpkg-deb --contents) to list their contents.”, “stderr\_lines”: [“dpkg-query: package ‘mysql-server’ is not installed and no information is available”, “Use dpkg --info (= dpkg-deb --info) to examine archive files,”, “and dpkg --contents (= dpkg-deb --contents) to list their contents.”], “stdout”: “”, “stdout\_lines”: }  
…ignoring

---

<div class="post-metadata">

### Author: ![Selli](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/selli/32/1062_2.png) [@Selli](https://discuss.openedx.org/u/Selli)
#### Post date: [June 10, 2020, 6:23am UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/9 "2020-06-10T06:23:45Z")

</div>

Hi @brenton.kreiger

Have you accurately defined version? Have you commented out AWS role?

Before you could run those 2 commands have you run blog based command?

This 3 additional steps have helped me set up the notes without trouble. However you may also enable notes and change urls in the cms.env.json too.

Word of caution: notes works fine only for Chrome browser in desktop/pc and not with mobile device/app

---

<div class="post-metadata">

### Author: ![brenton.kreiger](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@brenton.kreiger](https://discuss.openedx.org/u/brenton.kreiger)
#### Post date: [June 10, 2020, 3:21pm UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/10 "2020-06-10T15:21:48Z")

</div>

Thank you @Selli - yes I have commented out the AWS role and defined the version as open-release/ironwood.2. See the two screenshots below for that -

![Screen Shot 2020-06-10 at 9.21.23 AM](https://us1.discourse-cdn.com/flex020/uploads/openedx/original/2X/4/406cd8571dbc39c3c602003ab91edc4783ce3628.png)

![Screen Shot 2020-06-10 at 9.17.11 AM](https://us1.discourse-cdn.com/flex020/uploads/openedx/original/2X/0/0ec2fb31a6e8bb002127d004ddcc1e88ed0f0b5b.png)

**My final workflow was the following:**

1. set up Oauth for Notes API at the mysite/admin page
2. set the config parameters in the main.yml file and application parameters in the lms.env.json file. AS WELL AS, define the version.
3. Comment out the aws role.
4. Run the 3 role commands from your post above
5. Run the install command from the blog (step 4) without “-e@/edx/app/edx\_ansible/server-vars.yml”  
_this is where the error occurs_

Would you recommend (or know how to) uninstalling and then going through this process from scratch?

Thank you so much for your help!!!

Cheers,  
Brenton

---

<div class="post-metadata">

### Author: ![Selli](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/selli/32/1062_2.png) [@Selli](https://discuss.openedx.org/u/Selli)
#### Post date: [June 11, 2020, 6:48am UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/11 "2020-06-11T06:48:18Z")

</div>

I am not well versed with uninstalling and start from scratch may be you can open a new post and ask about it this may help others. Moreover you could use --limit parameters with your command followed by the limit file created on failure. This is ansible procedures that helps you ignore the task performed.

One more thing to do would be try

sudo /edx/bin/supervisorctl status and check if notes api is already running in your system or no? Also add mysite:18120 as your allowed host in main.yml file

---

<div class="post-metadata">

### Author: ![brenton.kreiger](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@brenton.kreiger](https://discuss.openedx.org/u/brenton.kreiger)
#### Post date: [June 11, 2020, 2:47pm UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/12 "2020-06-11T14:47:50Z")

</div>

@Selli, I can’t thank you enough for taking the time to help me here… I’ll probably try the uninstall because the limit command doesn’t work either. I also tried adding mysite:18120 as an allowed host and this doesn’t work. That status command gives the following - so the notes app is installed just not installed correctly… (no process log is created though).

 ![Screen Shot 2020-06-11 at 8.37.01 AM](https://us1.discourse-cdn.com/flex020/uploads/openedx/original/2X/1/1c98c54e7ce803720db1efd157e1304d68f82577.png)

---

<div class="post-metadata">

### Author: ![Selli](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/selli/32/1062_2.png) [@Selli](https://discuss.openedx.org/u/Selli)
#### Post date: [June 11, 2020, 7:36pm UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/13 "2020-06-11T19:36:29Z")

</div>

@brenton.kreiger seems uninstalling will work best for you. All the best.

Also I would suggest you to double check your oauth2 clients as trailing / is very important for notes to work

---

<div class="post-metadata">

### Author: ![FrankMNcrf](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/frankmncrf/32/1277_2.png) [@FrankMNcrf](https://discuss.openedx.org/u/FrankMNcrf)
#### Post date: [July 30, 2020, 2:34am UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/14 "2020-07-30T02:34:22Z")

</div>

Hi @Melsu I’m getting the **No matching distribution found for django-cors-headers==3.4.0** when trying to install Open Edx Notes.

How did you manage to get rid of this error?

Thanks a lot in advance 🙂

---

<div class="post-metadata">

### Author: ![Xperez](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/xperez/32/1089_2.png) [@Xperez](https://discuss.openedx.org/u/Xperez)
#### Post date: [July 31, 2020, 6:12am UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/15 "2020-07-31T06:12:39Z")

</div>

> [@brenton.kreiger](#):
>
> package ‘mysql-server’ is not installed and no information is available

Have you tried **apt install mysql-server**?

---

<div class="post-metadata">

### Author: ![brenton.kreiger](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@brenton.kreiger](https://discuss.openedx.org/u/brenton.kreiger)
#### Post date: [August 1, 2020, 3:57pm UTC](https://discuss.openedx.org/t/open-edx-notes-installation/1000/16 "2020-08-01T15:57:29Z")

</div>

I haven’t tried this yet! I’ll let you know if it works.
