Repository: spyder-ide/spyder

Issue:
Dependencies diaog not updating correctly when installing dependencies while spyder is running
## Description

This is a minor bug I noticed while installing dependencies with spyder running.
Spyder recognises newly installed dependencies, but will not insert the installed version number in the dependency info (or this bug report as can be seen by the additional information/dependencies below: pandas version number is displayed as None, but it is labeled as (OK). ) My guess would be that the version number is only requested at startup while the label (OK/NOK) as well as the color for each dependency is checked when opening the dialog?

**What steps will reproduce the problem?**
1. Open spyder with missing optional dependencies 
2. Check dependencies-info using Help->Dependencies... 
3. Install any missing dependency using pip (in the same environment)
4. Check dependencies-info again (close and reopen if still open)

**What is the expected output? What do you see instead?**
The expected output would be the version of the installed dependency. Instead we see that the dependency is not red anymore and is labeled as (OK) but not version number is displayed.

**Please provide any additional information below**
Restarting spyder fixes this problem, as the version number is correctly displayed then.

Uninstalling dependencies while spyder is running causes a similar (maybe even more serious?) bug, as in the fact that spyder does not seem to realize that the dependency is missing at all (still shows the old version number and labels it as (OK)). I just do not think this is so serious as people usually know when they uninstalled something.
## Version and main components
- Spyder Version: 3.0.0 
- Python Version: 2.7.12
- Qt Versions: 4.8.7, PyQt4 (API v2) 4.11.4 on Linux
## Dependencies

```
jedi >=0.8.1     :  0.9.0 (OK)
matplotlib >=1.0 :  1.5.3 (OK)
nbconvert >=4.0  :  4.2.0 (OK)
numpy >=1.7      :  1.11.1 (OK)
pandas >=0.13.1  :  None (OK)
pep8 >=0.6       :  1.7.0 (OK)
psutil >=0.3     :  4.3.1 (OK)
pyflakes >=0.5.0 :  1.3.0 (OK)
pygments >=2.0   :  2.1.3 (OK)
pylint >=0.25    :  1.6.4 (OK)
qtconsole >=4.2.0:  4.2.1 (OK)
rope >=0.9.4     :  0.10.3 (OK)
sphinx >=0.6.6   :  1.4.6 (OK)
sympy >=0.7.3    :  None (NOK)

```



Discussion:
For new dependencies to appear in that dialog, you need to close Spyder (not just the dialog) and open it again.

It's not possible for Spyder to detect new packages while it's running.

I thought as much, but what is interesting, that it kind of does detect it, as in, the line is not red anymore and it says (OK) instead of (NOK). I opened this issue because of this odd/inconsistent behaviour. But as I've said, I think this is a very minor thing.

What we can do is adding a note in the Dependencies dialog saying that new dependencies will be correctly detected only after Spyder is restarted.

@dalthviz, you could work on this one :-)


Resolving patch:
diff --git a/spyder/widgets/dependencies.py b/spyder/widgets/dependencies.py
--- a/spyder/widgets/dependencies.py
+++ b/spyder/widgets/dependencies.py
@@ -145,7 +145,10 @@ def __init__(self, parent):
                               "them.<br><br>"
                               "<b>Note</b>: You can safely use Spyder "
                               "without the following modules installed: "
-                              "<b>%s</b> and <b>%s</b>")
+                              "<b>%s</b> and <b>%s</b>.<br><br>"
+                              "Please also note that new "
+                              "dependencies or changed ones will be correctly "
+                              "detected only after Spyder is restarted.")
                               % (', '.join(opt_mods[:-1]), opt_mods[-1]))
         self.label.setWordWrap(True)
         self.label.setAlignment(Qt.AlignJustify)


Test patch: