Repository: spyder-ide/spyder

Issue:
TimeoutError: Timeout while waiting for comm port.
<!--- **PLEASE READ:** When submitting here, please ensure you've completed the following checklist and checked the boxes to confirm. Issue reports without it may be closed. Thanks! --->

### Issue Report Checklist

* [X] Searched the [issues page](https://github.com/spyder-ide/spyder/issues?q=is%3Aissue) for similar reports
* [ ] Read the relevant sections of the [Spyder Troubleshooting Guide](https://github.com/spyder-ide/spyder/wiki/Troubleshooting-Guide-and-FAQ) and followed its advice
* [X] Reproduced the issue after updating with ``conda update spyder`` (or ``pip``, if not using Anaconda)
* [ ] Could not reproduce inside ``jupyter qtconsole`` (if console-related)
* [ ] Tried basic troubleshooting (if a bug/error)
    * [ ] Restarted Spyder
    * [ ] Reset preferences with ``spyder --reset``
    * [ ] Reinstalled the latest version of [Anaconda](https://www.anaconda.com/download/)
    * [ ] Tried the other applicable steps from the Troubleshooting Guide
* [ ] Completed the **Problem Description**, **Steps to Reproduce** and **Version** sections below


## Problem Description

this is a duplication of [#11889](https://github.com/spyder-ide/spyder/issues/11889) but as that one is closed, and the problem still persists, @goanpeca asked me to report this one next time it pops up.

The issue reporter however didn't have the `Submit to Github` button enabled (not sure if that is a bug in itself) anyway, I'll do it on Github itself :wink: 

### What steps reproduce the problem?
On a Linux (Ubuntu 20.04) box, installed [miniforge](https://github.com/conda-forge/miniforge) (so everything comes from conda-forge) and then I created a fresh environment like this:
```shell
(base) me@mybox:~$ conda create -n s4 python=3.7
(base) me@mybox:~$ conda activate s4
(s4) me@mybox:~$ conda install spyder
...
(s4) me@mybox:~$ conda list spyder
# packages in environment at /home/me/my-envs/s4:
#
# Name                    Version                   Build  Channel
spyder                    4.1.3                    py37_0  
spyder-kernels            1.9.1                    py37_0  
(s4) me@mybox:~$ spyder
libpng warning: bKGD: invalid
libpng warning: bKGD: invalid
libpng warning: bKGD: invalid
libpng warning: bKGD: invalid
```
the `libpng` warnings are probably not harmfull, but good to know I would say :wink: 
anyway, after a while the `issue reporter` pops up (best case), sometimes it doesn't pop up, but one can see the exception on the internal console! (not sure what that is all about)

### What is the expected output? What do you see instead?
N/A


### Paste Traceback/Error Below (if applicable)
<!--- Copy from error dialog or View > Panes > Internal Console --->

```python-traceback
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/qtconsole/base_frontend_mixin.py", line 138, in _dispatch
    handler(msg)
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/widgets/namespacebrowser.py", line 172, in _handle_execute_reply
    self.refresh_namespacebrowser()
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/widgets/namespacebrowser.py", line 63, in refresh_namespacebrowser
    callback=self.set_namespace_view
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder_kernels/comms/commbase.py", line 538, in __call__
    call_dict, call_data, self._comm_id)
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/comms/kernelcomm.py", line 130, in _get_call_return_value
    with self.comm_channel_manager(comm_id, queue_message=not interrupt):
  File "/home/nerohmot/my-envs/s4/lib/python3.7/contextlib.py", line 112, in __enter__
    return next(self.gen)
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/comms/kernelcomm.py", line 87, in comm_channel_manager
    timeout)
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/comms/kernelcomm.py", line 168, in _wait
    raise TimeoutError(timeout_msg)
TimeoutError: Timeout while waiting for comm port.
Traceback (most recent call last):
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/qtconsole/base_frontend_mixin.py", line 138, in _dispatch
    handler(msg)
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/widgets/namespacebrowser.py", line 172, in _handle_execute_reply
    self.refresh_namespacebrowser()
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/widgets/namespacebrowser.py", line 63, in refresh_namespacebrowser
    callback=self.set_namespace_view
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder_kernels/comms/commbase.py", line 538, in __call__
    call_dict, call_data, self._comm_id)
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/comms/kernelcomm.py", line 130, in _get_call_return_value
    with self.comm_channel_manager(comm_id, queue_message=not interrupt):
  File "/home/nerohmot/my-envs/s4/lib/python3.7/contextlib.py", line 112, in __enter__
    return next(self.gen)
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/comms/kernelcomm.py", line 87, in comm_channel_manager
    timeout)
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/comms/kernelcomm.py", line 168, in _wait
    raise TimeoutError(timeout_msg)
TimeoutError: Timeout while waiting for comm port.
Traceback (most recent call last):
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/plugin.py", line 554, in set_current_client_working_directory
    shellwidget.set_cwd(directory)
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/widgets/shell.py", line 178, in set_cwd
    self.call_kernel(interrupt=True).set_cwd(dirname)
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder_kernels/comms/commbase.py", line 538, in __call__
    call_dict, call_data, self._comm_id)
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/comms/kernelcomm.py", line 130, in _get_call_return_value
    with self.comm_channel_manager(comm_id, queue_message=not interrupt):
  File "/home/nerohmot/my-envs/s4/lib/python3.7/contextlib.py", line 112, in __enter__
    return next(self.gen)
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/comms/kernelcomm.py", line 87, in comm_channel_manager
    timeout)
  File "/home/nerohmot/my-envs/s4/lib/python3.7/site-packages/spyder/plugins/ipythonconsole/comms/kernelcomm.py", line 168, in _wait
    raise TimeoutError(timeout_msg)
TimeoutError: Timeout while waiting for comm port.
```

## Versions
<!--- You can get this information from Help > About Spyder...
or (if Spyder won't launch) the "conda list" command
from the Anaconda Prompt/Terminal/command line. --->

* Spyder version: 4.1.3
* Python version: 3.7.6
* Qt version: 5.9.7
* PyQt version: 5.9.2
* Operating System name/version: Linux Ubuntu 20.04 (x86_64)

### Dependencies
<!--- Please go to the menu entry Help > Dependencies,
press the Copy to clipboard button and paste below --->

```
# Mandatory:
atomicwrites >=1.2.0           :  1.4.0 (OK)
chardet >=2.0.0                :  3.0.4 (OK)
cloudpickle >=0.5.0            :  1.5.0 (OK)
diff_match_patch >=20181111    :  20181111 (OK)
intervaltree                   :  None (OK)
IPython >=4.0                  :  7.16.1 (OK)
jedi =0.15.2                   :  0.15.2 (OK)
keyring                        :  None (OK)
nbconvert >=4.0                :  5.6.1 (OK)
numpydoc >=0.6.0               :  1.1.0 (OK)
parso =0.5.2                   :  0.5.2 (OK)
pexpect >=4.4.0                :  4.8.0 (OK)
pickleshare >=0.4              :  0.7.5 (OK)
psutil >=5.3                   :  5.7.0 (OK)
pygments >=2.0                 :  2.6.1 (OK)
pylint >=0.25                  :  2.5.3 (OK)
pyls >=0.31.9;<0.32.0          :  0.31.10 (OK)
qdarkstyle >=2.8               :  2.8.1 (OK)
qtawesome >=0.5.7              :  0.7.2 (OK)
qtconsole >=4.6.0              :  4.7.5 (OK)
qtpy >=1.5.0                   :  1.9.0 (OK)
rtree >=0.8.3                  :  0.9.4 (OK)
sphinx >=0.6.6                 :  3.1.2 (OK)
spyder_kernels >=1.9.1;<1.10.0 :  1.9.1 (OK)
watchdog                       :  None (OK)
xdg >=0.26                     :  0.26 (OK)
zmq >=17                       :  19.0.1 (OK)

# Optional:
cython >=0.21                  :  None (OK)
matplotlib >=2.0.0             :  None (OK)
numpy >=1.7                    :  None (OK)
pandas >=0.13.1                :  None (OK)
scipy >=0.17.0                 :  None (OK)
sympy >=0.7.3                  :  None (OK)
```



Discussion:
This issue is a duplicate of #11889. Please keep track of that issue as it will be fixed in a future release.
This issue seems to still be happening.
the spyder-bot is hefty!
> spyder                    4.1.3                    py37_0  
spyder-kernels            1.9.1                    py37_0

Hey @nerohmot, you're using Spyder 4.1.3 and spyder-kernels 1.9.1, not 4.1.4 and 1.9.2, where this error should be fixed. Please update and try again.
> (s4) me@mybox:~$ conda install spyder

I don't understand why this step didn't give you 4.1.4. However, I tried locally by running

    conda create -n foo -c conda-forge python=3.7 spyder

and I've got 4.1.4 (as expected). So, even if you're using miniforge, you probably need to set the channel priority to get packages from conda-forge instead of from the defaults channel.

Could you post the output of

    conda list

to see the channel conda used to pull packages from?
... no defaults ...

<details>

```
(s4) me@mybox:~$ conda info

     active environment : s4
    active env location : /home/nerohmot/my-envs/s4
            shell level : 2
       user config file : /home/nerohmot/.condarc
 populated config files : /miniforge3/.condarc
                          /home/nerohmot/.condarc
          conda version : 4.8.3
    conda-build version : 3.19.2
         python version : 3.7.6.final.0
       virtual packages : __cuda=10.2
                          __glibc=2.31
       base environment : /miniforge3  (writable)
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /miniforge3/pkgs
                          /home/nerohmot/.conda/pkgs
       envs directories : /home/nerohmot/my-envs
                          /miniforge3/envs
                          /home/nerohmot/.conda/envs
               platform : linux-64
             user-agent : conda/4.8.3 requests/2.24.0 CPython/3.7.6 Linux/5.4.0-40-generic ubuntu/20.04 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

(s4) me@mybox:~$ conda env export -n s4
name: s4
channels:
  - conda-forge
  - https://conda.anaconda.org/conda-forge
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=0_gnu
  - alabaster=0.7.12=py_0
  - argh=0.26.2=py37_1001
  - astroid=2.4.2=py37hc8dfbb8_0
  - atomicwrites=1.4.0=pyh9f0ad1d_0
  - attrs=19.3.0=py_0
  - autopep8=1.5.3=pyh9f0ad1d_0
  - babel=2.8.0=py_0
  - backcall=0.2.0=pyh9f0ad1d_0
  - bleach=3.1.5=pyh9f0ad1d_0
  - brotlipy=0.7.0=py37h8f50634_1000
  - bzip2=1.0.8=h516909a_2
  - ca-certificates=2020.6.20=hecda079_0
  - certifi=2020.6.20=py37hc8dfbb8_0
  - cffi=1.14.0=py37hd463f26_0
  - chardet=3.0.4=py37hc8dfbb8_1006
  - cloudpickle=1.5.0=py_0
  - conda=4.8.3=py37hc8dfbb8_1
  - conda-package-handling=1.6.0=py37h8f50634_2
  - cryptography=2.9.2=py37hb09aad4_0
  - dbus=1.13.6=he372182_0
  - decorator=4.4.2=py_0
  - defusedxml=0.6.0=py_0
  - diff-match-patch=20200713=pyh9f0ad1d_0
  - docutils=0.16=py37hc8dfbb8_1
  - entrypoints=0.3=py37hc8dfbb8_1001
  - expat=2.2.9=he1b5a44_2
  - flake8=3.8.3=py_1
  - fontconfig=2.13.1=h86ecdb6_1001
  - freetype=2.10.2=he06d7ca_0
  - future=0.18.2=py37hc8dfbb8_1
  - gettext=0.19.8.1=hc5be6a0_1002
  - glib=2.65.0=h6f030ca_0
  - gst-plugins-base=1.14.5=h0935bb2_2
  - gstreamer=1.14.5=h36ae1b5_2
  - icu=64.2=he1b5a44_1
  - idna=2.10=pyh9f0ad1d_0
  - imagesize=1.2.0=py_0
  - importlib-metadata=1.7.0=py37hc8dfbb8_0
  - importlib_metadata=1.7.0=0
  - intervaltree=3.0.2=py_0
  - ipykernel=5.3.2=py37h43977f1_0
  - ipython=7.16.1=py37h43977f1_0
  - ipython_genutils=0.2.0=py_1
  - isort=4.3.21=py37hc8dfbb8_1
  - jedi=0.17.1=py37hc8dfbb8_0
  - jeepney=0.4.3=py_0
  - jinja2=2.11.2=pyh9f0ad1d_0
  - jpeg=9d=h516909a_0
  - jsonschema=3.2.0=py37hc8dfbb8_1
  - jupyter_client=6.1.6=py_0
  - jupyter_core=4.6.3=py37hc8dfbb8_1
  - keyring=21.2.1=py37hc8dfbb8_0
  - krb5=1.17.1=hfafb76e_1
  - lazy-object-proxy=1.4.3=py37h8f50634_2
  - ld_impl_linux-64=2.34=h53a641e_7
  - libarchive=3.3.3=h3a8160c_1008
  - libclang=9.0.1=default_hde54327_0
  - libcurl=7.71.1=hcdd3856_1
  - libedit=3.1.20191231=h46ee950_1
  - libffi=3.2.1=he1b5a44_1007
  - libgcc-ng=9.2.0=h24d8f2e_2
  - libgomp=9.2.0=h24d8f2e_2
  - libiconv=1.15=h516909a_1006
  - libllvm9=9.0.1=he513fc3_1
  - libpng=1.6.37=hed695b0_1
  - libsodium=1.0.17=h516909a_0
  - libsolv=0.7.14=h8b12597_3
  - libspatialindex=1.9.3=he1b5a44_3
  - libssh2=1.9.0=hab1572f_3
  - libstdcxx-ng=9.2.0=hdf63c60_2
  - libuuid=2.32.1=h14c3975_1000
  - libxcb=1.13=h14c3975_1002
  - libxkbcommon=0.10.0=he1b5a44_0
  - libxml2=2.9.10=hee79883_0
  - lz4-c=1.9.2=he1b5a44_1
  - lzo=2.10=h14c3975_1000
  - mamba=0.4.1=py37h6d3251c_0
  - markupsafe=1.1.1=py37h8f50634_1
  - mccabe=0.6.1=py_1
  - mistune=0.8.4=py37h8f50634_1001
  - nbconvert=5.6.1=py37hc8dfbb8_1
  - nbformat=5.0.7=py_0
  - ncurses=6.2=he1b5a44_1
  - nspr=4.26=he1b5a44_0
  - nss=3.47=he751ad9_0
  - numpydoc=1.1.0=pyh9f0ad1d_0
  - openssl=1.1.1g=h516909a_0
  - packaging=20.4=pyh9f0ad1d_0
  - pandoc=2.10=h14c3975_0
  - pandocfilters=1.4.2=py_1
  - parso=0.7.0=pyh9f0ad1d_0
  - pathtools=0.1.2=py_1
  - pcre=8.44=he1b5a44_0
  - pexpect=4.8.0=py37hc8dfbb8_1
  - pickleshare=0.7.5=py37hc8dfbb8_1001
  - pip=20.1.1=py_1
  - pluggy=0.13.1=py37hc8dfbb8_2
  - prompt-toolkit=3.0.5=py_1
  - psutil=5.7.2=py37h8f50634_0
  - pthread-stubs=0.4=h14c3975_1001
  - ptyprocess=0.6.0=py_1001
  - pycodestyle=2.6.0=pyh9f0ad1d_0
  - pycosat=0.6.3=py37h8f50634_1004
  - pycparser=2.20=pyh9f0ad1d_2
  - pydocstyle=5.0.2=py_0
  - pyflakes=2.2.0=pyh9f0ad1d_0
  - pygments=2.6.1=py_0
  - pylint=2.5.3=py37hc8dfbb8_0
  - pyopenssl=19.1.0=py_1
  - pyparsing=2.4.7=pyh9f0ad1d_0
  - pyqt=5.12.3=py37h8685d9f_3
  - pyrsistent=0.16.0=py37h8f50634_0
  - pysocks=1.7.1=py37hc8dfbb8_1
  - python=3.7.6=cpython_h8356626_6
  - python-dateutil=2.8.1=py_0
  - python-jsonrpc-server=0.3.4=pyh9f0ad1d_1
  - python-language-server=0.34.1=py37hc8dfbb8_0
  - python_abi=3.7=1_cp37m
  - pytz=2020.1=pyh9f0ad1d_0
  - pyxdg=0.26=py_0
  - pyyaml=5.3.1=py37h8f50634_0
  - pyzmq=19.0.1=py37hac76be4_0
  - qdarkstyle=2.8.1=pyh9f0ad1d_0
  - qt=5.12.5=hd8c4c69_1
  - qtawesome=0.7.2=pyh9f0ad1d_0
  - qtconsole=4.7.5=pyh9f0ad1d_0
  - qtpy=1.9.0=py_0
  - readline=8.0=he28a2e2_2
  - requests=2.24.0=pyh9f0ad1d_0
  - rope=0.17.0=pyh9f0ad1d_0
  - rtree=0.9.4=py37h8526d28_1
  - ruamel_yaml=0.15.80=py37h8f50634_1001
  - secretstorage=3.1.2=py37hc8dfbb8_1
  - setuptools=49.2.0=py37hc8dfbb8_0
  - six=1.15.0=pyh9f0ad1d_0
  - snowballstemmer=2.0.0=py_0
  - sortedcontainers=2.2.2=pyh9f0ad1d_0
  - sphinx=3.1.2=py_0
  - sphinxcontrib-applehelp=1.0.2=py_0
  - sphinxcontrib-devhelp=1.0.2=py_0
  - sphinxcontrib-htmlhelp=1.0.3=py_0
  - sphinxcontrib-jsmath=1.0.1=py_0
  - sphinxcontrib-qthelp=1.0.3=py_0
  - sphinxcontrib-serializinghtml=1.1.4=py_0
  - spyder=4.1.4=py37hc8dfbb8_0
  - spyder-kernels=1.9.2=py37hc8dfbb8_0
  - sqlite=3.32.3=hcee41ef_1
  - testpath=0.4.4=py_0
  - tk=8.6.10=hed695b0_0
  - toml=0.10.1=pyh9f0ad1d_0
  - tornado=6.0.4=py37h8f50634_1
  - tqdm=4.47.0=pyh9f0ad1d_0
  - traitlets=4.3.3=py37hc8dfbb8_1
  - typed-ast=1.4.1=py37h516909a_0
  - ujson=1.35=py37h3340039_1002
  - urllib3=1.25.9=py_0
  - watchdog=0.10.3=py37hc8dfbb8_0
  - wcwidth=0.2.5=pyh9f0ad1d_0
  - webencodings=0.5.1=py_1
  - wheel=0.34.2=py_1
  - wrapt=1.11.2=py37h8f50634_0
  - wurlitzer=2.0.0=py37hc8dfbb8_1
  - xorg-libxau=1.0.9=h14c3975_0
  - xorg-libxdmcp=1.1.3=h516909a_0
  - xz=5.2.5=h516909a_1
  - yaml=0.2.5=h516909a_0
  - yapf=0.29.0=py_0
  - zeromq=4.3.2=he1b5a44_2
  - zipp=3.1.0=py_0
  - zlib=1.2.11=h516909a_1006
  - zstd=1.4.4=h6597ccf_3
  - pip:
    - pyqt5-sip==4.19.18
    - pyqtchart==5.12
    - pyqtwebengine==5.12.1
prefix: /home/nerohmot/my-envs/s4
```

</details>
I can't reproduce your error in Kubuntu 19.10 with the exact same packages. However, I didn't install the pip packages you have listed at the end:

    - pyqt5-sip==4.19.18
    - pyqtchart==5.12
    - pyqtwebengine==5.12.1

because they interfere with the conda-forge PyQt5 package. So please recreate your environment without those packages and try again.

The way you can do that is by running the following command

    conda env create -f env.yml

and using this file: [env.txt](https://github.com/spyder-ide/spyder/files/4938783/env.txt), but renaming it to `env.yml` (Github doesn't allow to upload plain text files with different extensions).


Ok, it is confirmed that there is **no** feedstock for `pyqt5-sip`, `pyqtchart` or `pyqtwebengine`.
It is also confirmed that `conda`, when he doesn't find the packages in the available channels (in my case only `conda-forge`) it **will** try to pull them in from `PyPi` !!!

<details>

```sh
(base) nerohmot@THOR:~$ conda create -n condaqt python=3.7
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/nerohmot/conda-envs/condaqt

  added / updated specs:
    - python=3.7


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    python-3.7.8               |h6f2ec95_0_cpython        53.1 MB  conda-forge
    ------------------------------------------------------------
                                           Total:        53.1 MB

The following NEW packages will be INSTALLED:

  _libgcc_mutex      conda-forge/linux-64::_libgcc_mutex-0.1-conda_forge
  _openmp_mutex      conda-forge/linux-64::_openmp_mutex-4.5-0_gnu
  ca-certificates    conda-forge/linux-64::ca-certificates-2020.6.20-hecda079_0
  certifi            conda-forge/linux-64::certifi-2020.6.20-py37hc8dfbb8_0
  ld_impl_linux-64   conda-forge/linux-64::ld_impl_linux-64-2.34-h53a641e_7
  libffi             conda-forge/linux-64::libffi-3.2.1-he1b5a44_1007
  libgcc-ng          conda-forge/linux-64::libgcc-ng-9.2.0-h24d8f2e_2
  libgomp            conda-forge/linux-64::libgomp-9.2.0-h24d8f2e_2
  libstdcxx-ng       conda-forge/linux-64::libstdcxx-ng-9.2.0-hdf63c60_2
  ncurses            conda-forge/linux-64::ncurses-6.2-he1b5a44_1
  openssl            conda-forge/linux-64::openssl-1.1.1g-h516909a_0
  pip                conda-forge/noarch::pip-20.1.1-py_1
  python             conda-forge/linux-64::python-3.7.8-h6f2ec95_0_cpython
  python_abi         conda-forge/linux-64::python_abi-3.7-1_cp37m
  readline           conda-forge/linux-64::readline-8.0-he28a2e2_2
  setuptools         conda-forge/linux-64::setuptools-49.2.0-py37hc8dfbb8_0
  sqlite             conda-forge/linux-64::sqlite-3.32.3-hcee41ef_1
  tk                 conda-forge/linux-64::tk-8.6.10-hed695b0_0
  wheel              conda-forge/noarch::wheel-0.34.2-py_1
  xz                 conda-forge/linux-64::xz-5.2.5-h516909a_1
  zlib               conda-forge/linux-64::zlib-1.2.11-h516909a_1006


Proceed ([y]/n)? y


Downloading and Extracting Packages
python-3.7.8         | 53.1 MB   | ################################################################################################################################################################################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate condaqt
#
# To deactivate an active environment, use
#
#     $ conda deactivate

(base) nerohmot@THOR:~$ conda activate condaqt
(condaqt) nerohmot@THOR:~$ conda install spyder=4.1.4
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/nerohmot/conda-envs/condaqt

  added / updated specs:
    - spyder=4.1.4


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    argh-0.26.2                |  pyh9f0ad1d_1002          26 KB  conda-forge
    astroid-2.3.3              |           py37_1         279 KB  conda-forge
    cryptography-3.0           |   py37hb09aad4_0         633 KB  conda-forge
    ipykernel-5.3.4            |   py37h43977f1_0         165 KB  conda-forge
    isort-5.1.4                |   py37hc8dfbb8_0         131 KB  conda-forge
    lazy-object-proxy-1.5.1    |   py37h8f50634_0          28 KB  conda-forge
    nspr-4.27                  |       he1b5a44_0         1.6 MB  conda-forge
    pandoc-2.10.1              |       h516909a_0        19.3 MB  conda-forge
    pylint-2.3.1               |           py37_0         823 KB  conda-forge
    spyder-kernels-1.9.3       |   py37hc8dfbb8_0          89 KB  conda-forge
    urllib3-1.25.10            |             py_0          92 KB  conda-forge
    watchdog-0.10.3            |   py37hc8dfbb8_1          90 KB  conda-forge
    wrapt-1.12.1               |   py37h8f50634_1          46 KB  conda-forge
    ------------------------------------------------------------
                                           Total:        23.3 MB

The following NEW packages will be INSTALLED:

  alabaster          conda-forge/noarch::alabaster-0.7.12-py_0
  argh               conda-forge/noarch::argh-0.26.2-pyh9f0ad1d_1002
  astroid            conda-forge/linux-64::astroid-2.3.3-py37_1
  atomicwrites       conda-forge/noarch::atomicwrites-1.4.0-pyh9f0ad1d_0
  attrs              conda-forge/noarch::attrs-19.3.0-py_0
  autopep8           conda-forge/noarch::autopep8-1.5.3-pyh9f0ad1d_0
  babel              conda-forge/noarch::babel-2.8.0-py_0
  backcall           conda-forge/noarch::backcall-0.2.0-pyh9f0ad1d_0
  bleach             conda-forge/noarch::bleach-3.1.5-pyh9f0ad1d_0
  brotlipy           conda-forge/linux-64::brotlipy-0.7.0-py37h8f50634_1000
  cffi               conda-forge/linux-64::cffi-1.14.0-py37hd463f26_0
  chardet            conda-forge/linux-64::chardet-3.0.4-py37hc8dfbb8_1006
  cloudpickle        conda-forge/noarch::cloudpickle-1.5.0-py_0
  cryptography       conda-forge/linux-64::cryptography-3.0-py37hb09aad4_0
  dbus               conda-forge/linux-64::dbus-1.13.6-he372182_0
  decorator          conda-forge/noarch::decorator-4.4.2-py_0
  defusedxml         conda-forge/noarch::defusedxml-0.6.0-py_0
  diff-match-patch   conda-forge/noarch::diff-match-patch-20200713-pyh9f0ad1d_0
  docutils           conda-forge/linux-64::docutils-0.16-py37hc8dfbb8_1
  entrypoints        conda-forge/linux-64::entrypoints-0.3-py37hc8dfbb8_1001
  expat              conda-forge/linux-64::expat-2.2.9-he1b5a44_2
  flake8             conda-forge/noarch::flake8-3.8.3-py_1
  fontconfig         conda-forge/linux-64::fontconfig-2.13.1-h86ecdb6_1001
  freetype           conda-forge/linux-64::freetype-2.10.2-he06d7ca_0
  future             conda-forge/linux-64::future-0.18.2-py37hc8dfbb8_1
  gettext            conda-forge/linux-64::gettext-0.19.8.1-hc5be6a0_1002
  glib               conda-forge/linux-64::glib-2.65.0-h6f030ca_0
  gst-plugins-base   conda-forge/linux-64::gst-plugins-base-1.14.5-h0935bb2_2
  gstreamer          conda-forge/linux-64::gstreamer-1.14.5-h36ae1b5_2
  icu                conda-forge/linux-64::icu-64.2-he1b5a44_1
  idna               conda-forge/noarch::idna-2.10-pyh9f0ad1d_0
  imagesize          conda-forge/noarch::imagesize-1.2.0-py_0
  importlib-metadata conda-forge/linux-64::importlib-metadata-1.7.0-py37hc8dfbb8_0
  importlib_metadata conda-forge/noarch::importlib_metadata-1.7.0-0
  intervaltree       conda-forge/noarch::intervaltree-3.0.2-py_0
  ipykernel          conda-forge/linux-64::ipykernel-5.3.4-py37h43977f1_0
  ipython            conda-forge/linux-64::ipython-7.16.1-py37h43977f1_0
  ipython_genutils   conda-forge/noarch::ipython_genutils-0.2.0-py_1
  isort              conda-forge/linux-64::isort-5.1.4-py37hc8dfbb8_0
  jedi               conda-forge/linux-64::jedi-0.17.1-py37hc8dfbb8_0
  jeepney            conda-forge/noarch::jeepney-0.4.3-py_0
  jinja2             conda-forge/noarch::jinja2-2.11.2-pyh9f0ad1d_0
  jpeg               conda-forge/linux-64::jpeg-9d-h516909a_0
  jsonschema         conda-forge/linux-64::jsonschema-3.2.0-py37hc8dfbb8_1
  jupyter_client     conda-forge/noarch::jupyter_client-6.1.6-py_0
  jupyter_core       conda-forge/linux-64::jupyter_core-4.6.3-py37hc8dfbb8_1
  keyring            conda-forge/linux-64::keyring-21.2.1-py37hc8dfbb8_0
  lazy-object-proxy  conda-forge/linux-64::lazy-object-proxy-1.5.1-py37h8f50634_0
  libclang           conda-forge/linux-64::libclang-9.0.1-default_hde54327_0
  libiconv           conda-forge/linux-64::libiconv-1.15-h516909a_1006
  libllvm9           conda-forge/linux-64::libllvm9-9.0.1-he513fc3_1
  libpng             conda-forge/linux-64::libpng-1.6.37-hed695b0_1
  libsodium          conda-forge/linux-64::libsodium-1.0.17-h516909a_0
  libspatialindex    conda-forge/linux-64::libspatialindex-1.9.3-he1b5a44_3
  libuuid            conda-forge/linux-64::libuuid-2.32.1-h14c3975_1000
  libxcb             conda-forge/linux-64::libxcb-1.13-h14c3975_1002
  libxkbcommon       conda-forge/linux-64::libxkbcommon-0.10.0-he1b5a44_0
  libxml2            conda-forge/linux-64::libxml2-2.9.10-hee79883_0
  markupsafe         conda-forge/linux-64::markupsafe-1.1.1-py37h8f50634_1
  mccabe             conda-forge/noarch::mccabe-0.6.1-py_1
  mistune            conda-forge/linux-64::mistune-0.8.4-py37h8f50634_1001
  nbconvert          conda-forge/linux-64::nbconvert-5.6.1-py37hc8dfbb8_1
  nbformat           conda-forge/noarch::nbformat-5.0.7-py_0
  nspr               conda-forge/linux-64::nspr-4.27-he1b5a44_0
  nss                conda-forge/linux-64::nss-3.47-he751ad9_0
  numpydoc           conda-forge/noarch::numpydoc-1.1.0-pyh9f0ad1d_0
  packaging          conda-forge/noarch::packaging-20.4-pyh9f0ad1d_0
  pandoc             conda-forge/linux-64::pandoc-2.10.1-h516909a_0
  pandocfilters      conda-forge/noarch::pandocfilters-1.4.2-py_1
  parso              conda-forge/noarch::parso-0.7.0-pyh9f0ad1d_0
  pathtools          conda-forge/noarch::pathtools-0.1.2-py_1
  pcre               conda-forge/linux-64::pcre-8.44-he1b5a44_0
  pexpect            conda-forge/linux-64::pexpect-4.8.0-py37hc8dfbb8_1
  pickleshare        conda-forge/linux-64::pickleshare-0.7.5-py37hc8dfbb8_1001
  pluggy             conda-forge/linux-64::pluggy-0.13.1-py37hc8dfbb8_2
  prompt-toolkit     conda-forge/noarch::prompt-toolkit-3.0.5-py_1
  psutil             conda-forge/linux-64::psutil-5.7.2-py37h8f50634_0
  pthread-stubs      conda-forge/linux-64::pthread-stubs-0.4-h14c3975_1001
  ptyprocess         conda-forge/noarch::ptyprocess-0.6.0-py_1001
  pycodestyle        conda-forge/noarch::pycodestyle-2.6.0-pyh9f0ad1d_0
  pycparser          conda-forge/noarch::pycparser-2.20-pyh9f0ad1d_2
  pydocstyle         conda-forge/noarch::pydocstyle-5.0.2-py_0
  pyflakes           conda-forge/noarch::pyflakes-2.2.0-pyh9f0ad1d_0
  pygments           conda-forge/noarch::pygments-2.6.1-py_0
  pylint             conda-forge/linux-64::pylint-2.3.1-py37_0
  pyopenssl          conda-forge/noarch::pyopenssl-19.1.0-py_1
  pyparsing          conda-forge/noarch::pyparsing-2.4.7-pyh9f0ad1d_0
  pyqt               conda-forge/linux-64::pyqt-5.12.3-py37h8685d9f_3
  pyrsistent         conda-forge/linux-64::pyrsistent-0.16.0-py37h8f50634_0
  pysocks            conda-forge/linux-64::pysocks-1.7.1-py37hc8dfbb8_1
  python-dateutil    conda-forge/noarch::python-dateutil-2.8.1-py_0
  python-jsonrpc-se~ conda-forge/noarch::python-jsonrpc-server-0.3.4-pyh9f0ad1d_1
  python-language-s~ conda-forge/linux-64::python-language-server-0.34.1-py37hc8dfbb8_0
  pytz               conda-forge/noarch::pytz-2020.1-pyh9f0ad1d_0
  pyxdg              conda-forge/noarch::pyxdg-0.26-py_0
  pyyaml             conda-forge/linux-64::pyyaml-5.3.1-py37h8f50634_0
  pyzmq              conda-forge/linux-64::pyzmq-19.0.1-py37hac76be4_0
  qdarkstyle         conda-forge/noarch::qdarkstyle-2.8.1-pyh9f0ad1d_0
  qt                 conda-forge/linux-64::qt-5.12.5-hd8c4c69_1
  qtawesome          conda-forge/noarch::qtawesome-0.7.2-pyh9f0ad1d_0
  qtconsole          conda-forge/noarch::qtconsole-4.7.5-pyh9f0ad1d_0
  qtpy               conda-forge/noarch::qtpy-1.9.0-py_0
  requests           conda-forge/noarch::requests-2.24.0-pyh9f0ad1d_0
  rope               conda-forge/noarch::rope-0.17.0-pyh9f0ad1d_0
  rtree              conda-forge/linux-64::rtree-0.9.4-py37h8526d28_1
  secretstorage      conda-forge/linux-64::secretstorage-3.1.2-py37hc8dfbb8_1
  six                conda-forge/noarch::six-1.15.0-pyh9f0ad1d_0
  snowballstemmer    conda-forge/noarch::snowballstemmer-2.0.0-py_0
  sortedcontainers   conda-forge/noarch::sortedcontainers-2.2.2-pyh9f0ad1d_0
  sphinx             conda-forge/noarch::sphinx-3.1.2-py_0
  sphinxcontrib-app~ conda-forge/noarch::sphinxcontrib-applehelp-1.0.2-py_0
  sphinxcontrib-dev~ conda-forge/noarch::sphinxcontrib-devhelp-1.0.2-py_0
  sphinxcontrib-htm~ conda-forge/noarch::sphinxcontrib-htmlhelp-1.0.3-py_0
  sphinxcontrib-jsm~ conda-forge/noarch::sphinxcontrib-jsmath-1.0.1-py_0
  sphinxcontrib-qth~ conda-forge/noarch::sphinxcontrib-qthelp-1.0.3-py_0
  sphinxcontrib-ser~ conda-forge/noarch::sphinxcontrib-serializinghtml-1.1.4-py_0
  spyder             conda-forge/linux-64::spyder-4.1.4-py37hc8dfbb8_0
  spyder-kernels     conda-forge/linux-64::spyder-kernels-1.9.3-py37hc8dfbb8_0
  testpath           conda-forge/noarch::testpath-0.4.4-py_0
  toml               conda-forge/noarch::toml-0.10.1-pyh9f0ad1d_0
  tornado            conda-forge/linux-64::tornado-6.0.4-py37h8f50634_1
  traitlets          conda-forge/linux-64::traitlets-4.3.3-py37hc8dfbb8_1
  typed-ast          conda-forge/linux-64::typed-ast-1.4.1-py37h516909a_0
  ujson              conda-forge/linux-64::ujson-1.35-py37h3340039_1002
  urllib3            conda-forge/noarch::urllib3-1.25.10-py_0
  watchdog           conda-forge/linux-64::watchdog-0.10.3-py37hc8dfbb8_1
  wcwidth            conda-forge/noarch::wcwidth-0.2.5-pyh9f0ad1d_0
  webencodings       conda-forge/noarch::webencodings-0.5.1-py_1
  wrapt              conda-forge/linux-64::wrapt-1.12.1-py37h8f50634_1
  wurlitzer          conda-forge/linux-64::wurlitzer-2.0.0-py37hc8dfbb8_1
  xorg-libxau        conda-forge/linux-64::xorg-libxau-1.0.9-h14c3975_0
  xorg-libxdmcp      conda-forge/linux-64::xorg-libxdmcp-1.1.3-h516909a_0
  yaml               conda-forge/linux-64::yaml-0.2.5-h516909a_0
  yapf               conda-forge/noarch::yapf-0.29.0-py_0
  zeromq             conda-forge/linux-64::zeromq-4.3.2-he1b5a44_2
  zipp               conda-forge/noarch::zipp-3.1.0-py_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
pylint-2.3.1         | 823 KB    | ################################################################################################################################################################################################### | 100% 
pandoc-2.10.1        | 19.3 MB   | ################################################################################################################################################################################################### | 100% 
isort-5.1.4          | 131 KB    | ################################################################################################################################################################################################### | 100% 
wrapt-1.12.1         | 46 KB     | ################################################################################################################################################################################################### | 100% 
astroid-2.3.3        | 279 KB    | ################################################################################################################################################################################################### | 100% 
lazy-object-proxy-1. | 28 KB     | ################################################################################################################################################################################################### | 100% 
argh-0.26.2          | 26 KB     | ################################################################################################################################################################################################### | 100% 
nspr-4.27            | 1.6 MB    | ################################################################################################################################################################################################### | 100% 
urllib3-1.25.10      | 92 KB     | ################################################################################################################################################################################################### | 100% 
ipykernel-5.3.4      | 165 KB    | ################################################################################################################################################################################################### | 100% 
watchdog-0.10.3      | 90 KB     | ################################################################################################################################################################################################### | 100% 
spyder-kernels-1.9.3 | 89 KB     | ################################################################################################################################################################################################### | 100% 
cryptography-3.0     | 633 KB    | ################################################################################################################################################################################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(condaqt) nerohmot@THOR:~$ conda env export -n condaqt
name: condaqt
channels:
  - conda-forge
  - https://conda.anaconda.org/conda-forge
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=0_gnu
  - alabaster=0.7.12=py_0
  - argh=0.26.2=pyh9f0ad1d_1002
  - astroid=2.3.3=py37_1
  - atomicwrites=1.4.0=pyh9f0ad1d_0
  - attrs=19.3.0=py_0
  - autopep8=1.5.3=pyh9f0ad1d_0
  - babel=2.8.0=py_0
  - backcall=0.2.0=pyh9f0ad1d_0
  - bleach=3.1.5=pyh9f0ad1d_0
  - brotlipy=0.7.0=py37h8f50634_1000
  - ca-certificates=2020.6.20=hecda079_0
  - certifi=2020.6.20=py37hc8dfbb8_0
  - cffi=1.14.0=py37hd463f26_0
  - chardet=3.0.4=py37hc8dfbb8_1006
  - cloudpickle=1.5.0=py_0
  - cryptography=3.0=py37hb09aad4_0
  - dbus=1.13.6=he372182_0
  - decorator=4.4.2=py_0
  - defusedxml=0.6.0=py_0
  - diff-match-patch=20200713=pyh9f0ad1d_0
  - docutils=0.16=py37hc8dfbb8_1
  - entrypoints=0.3=py37hc8dfbb8_1001
  - expat=2.2.9=he1b5a44_2
  - flake8=3.8.3=py_1
  - fontconfig=2.13.1=h86ecdb6_1001
  - freetype=2.10.2=he06d7ca_0
  - future=0.18.2=py37hc8dfbb8_1
  - gettext=0.19.8.1=hc5be6a0_1002
  - glib=2.65.0=h6f030ca_0
  - gst-plugins-base=1.14.5=h0935bb2_2
  - gstreamer=1.14.5=h36ae1b5_2
  - icu=64.2=he1b5a44_1
  - idna=2.10=pyh9f0ad1d_0
  - imagesize=1.2.0=py_0
  - importlib-metadata=1.7.0=py37hc8dfbb8_0
  - importlib_metadata=1.7.0=0
  - intervaltree=3.0.2=py_0
  - ipykernel=5.3.4=py37h43977f1_0
  - ipython=7.16.1=py37h43977f1_0
  - ipython_genutils=0.2.0=py_1
  - isort=5.1.4=py37hc8dfbb8_0
  - jedi=0.17.1=py37hc8dfbb8_0
  - jeepney=0.4.3=py_0
  - jinja2=2.11.2=pyh9f0ad1d_0
  - jpeg=9d=h516909a_0
  - jsonschema=3.2.0=py37hc8dfbb8_1
  - jupyter_client=6.1.6=py_0
  - jupyter_core=4.6.3=py37hc8dfbb8_1
  - keyring=21.2.1=py37hc8dfbb8_0
  - lazy-object-proxy=1.5.1=py37h8f50634_0
  - ld_impl_linux-64=2.34=h53a641e_7
  - libclang=9.0.1=default_hde54327_0
  - libffi=3.2.1=he1b5a44_1007
  - libgcc-ng=9.2.0=h24d8f2e_2
  - libgomp=9.2.0=h24d8f2e_2
  - libiconv=1.15=h516909a_1006
  - libllvm9=9.0.1=he513fc3_1
  - libpng=1.6.37=hed695b0_1
  - libsodium=1.0.17=h516909a_0
  - libspatialindex=1.9.3=he1b5a44_3
  - libstdcxx-ng=9.2.0=hdf63c60_2
  - libuuid=2.32.1=h14c3975_1000
  - libxcb=1.13=h14c3975_1002
  - libxkbcommon=0.10.0=he1b5a44_0
  - libxml2=2.9.10=hee79883_0
  - markupsafe=1.1.1=py37h8f50634_1
  - mccabe=0.6.1=py_1
  - mistune=0.8.4=py37h8f50634_1001
  - nbconvert=5.6.1=py37hc8dfbb8_1
  - nbformat=5.0.7=py_0
  - ncurses=6.2=he1b5a44_1
  - nspr=4.27=he1b5a44_0
  - nss=3.47=he751ad9_0
  - numpydoc=1.1.0=pyh9f0ad1d_0
  - openssl=1.1.1g=h516909a_0
  - packaging=20.4=pyh9f0ad1d_0
  - pandoc=2.10.1=h516909a_0
  - pandocfilters=1.4.2=py_1
  - parso=0.7.0=pyh9f0ad1d_0
  - pathtools=0.1.2=py_1
  - pcre=8.44=he1b5a44_0
  - pexpect=4.8.0=py37hc8dfbb8_1
  - pickleshare=0.7.5=py37hc8dfbb8_1001
  - pip=20.1.1=py_1
  - pluggy=0.13.1=py37hc8dfbb8_2
  - prompt-toolkit=3.0.5=py_1
  - psutil=5.7.2=py37h8f50634_0
  - pthread-stubs=0.4=h14c3975_1001
  - ptyprocess=0.6.0=py_1001
  - pycodestyle=2.6.0=pyh9f0ad1d_0
  - pycparser=2.20=pyh9f0ad1d_2
  - pydocstyle=5.0.2=py_0
  - pyflakes=2.2.0=pyh9f0ad1d_0
  - pygments=2.6.1=py_0
  - pylint=2.3.1=py37_0
  - pyopenssl=19.1.0=py_1
  - pyparsing=2.4.7=pyh9f0ad1d_0
  - pyqt=5.12.3=py37h8685d9f_3
  - pyrsistent=0.16.0=py37h8f50634_0
  - pysocks=1.7.1=py37hc8dfbb8_1
  - python=3.7.8=h6f2ec95_0_cpython
  - python-dateutil=2.8.1=py_0
  - python-jsonrpc-server=0.3.4=pyh9f0ad1d_1
  - python-language-server=0.34.1=py37hc8dfbb8_0
  - python_abi=3.7=1_cp37m
  - pytz=2020.1=pyh9f0ad1d_0
  - pyxdg=0.26=py_0
  - pyyaml=5.3.1=py37h8f50634_0
  - pyzmq=19.0.1=py37hac76be4_0
  - qdarkstyle=2.8.1=pyh9f0ad1d_0
  - qt=5.12.5=hd8c4c69_1
  - qtawesome=0.7.2=pyh9f0ad1d_0
  - qtconsole=4.7.5=pyh9f0ad1d_0
  - qtpy=1.9.0=py_0
  - readline=8.0=he28a2e2_2
  - requests=2.24.0=pyh9f0ad1d_0
  - rope=0.17.0=pyh9f0ad1d_0
  - rtree=0.9.4=py37h8526d28_1
  - secretstorage=3.1.2=py37hc8dfbb8_1
  - setuptools=49.2.0=py37hc8dfbb8_0
  - six=1.15.0=pyh9f0ad1d_0
  - snowballstemmer=2.0.0=py_0
  - sortedcontainers=2.2.2=pyh9f0ad1d_0
  - sphinx=3.1.2=py_0
  - sphinxcontrib-applehelp=1.0.2=py_0
  - sphinxcontrib-devhelp=1.0.2=py_0
  - sphinxcontrib-htmlhelp=1.0.3=py_0
  - sphinxcontrib-jsmath=1.0.1=py_0
  - sphinxcontrib-qthelp=1.0.3=py_0
  - sphinxcontrib-serializinghtml=1.1.4=py_0
  - spyder=4.1.4=py37hc8dfbb8_0
  - spyder-kernels=1.9.3=py37hc8dfbb8_0
  - sqlite=3.32.3=hcee41ef_1
  - testpath=0.4.4=py_0
  - tk=8.6.10=hed695b0_0
  - toml=0.10.1=pyh9f0ad1d_0
  - tornado=6.0.4=py37h8f50634_1
  - traitlets=4.3.3=py37hc8dfbb8_1
  - typed-ast=1.4.1=py37h516909a_0
  - ujson=1.35=py37h3340039_1002
  - urllib3=1.25.10=py_0
  - watchdog=0.10.3=py37hc8dfbb8_1
  - wcwidth=0.2.5=pyh9f0ad1d_0
  - webencodings=0.5.1=py_1
  - wheel=0.34.2=py_1
  - wrapt=1.12.1=py37h8f50634_1
  - wurlitzer=2.0.0=py37hc8dfbb8_1
  - xorg-libxau=1.0.9=h14c3975_0
  - xorg-libxdmcp=1.1.3=h516909a_0
  - xz=5.2.5=h516909a_1
  - yaml=0.2.5=h516909a_0
  - yapf=0.29.0=py_0
  - zeromq=4.3.2=he1b5a44_2
  - zipp=3.1.0=py_0
  - zlib=1.2.11=h516909a_1006
  - pip:
    - pyqt5-sip==4.19.18
    - pyqtchart==5.12
    - pyqtwebengine==5.12.1
prefix: /home/nerohmot/conda-envs/condaqt

(condaqt) nerohmot@THOR:~$ 

```

</details>

So, some dependencies of spyder=4.1.4 require these packages (no idea how to check which one).

Ideally we need feedstocks on `pyqt5-sip`, `pyqtchart` or `pyqtwebengine` so that `conda` (or `mamba` for that matter) doesn't need to use `pip` :smile: 

Note however that `conda` instructs `pip` to get the right versions! (at least **not the latest** versions are pulled from PyPi, and as far as I can judge, these are the versions that go along with qt=5.12.5!) ... not sure how this then could lead to our `TimeoutError` :confused: 

Anyway,

I did the `pyqt5-sip` feedstock, but had to disable the import test as obviously `import pyqt5_sip` doesn't work.
Problem is that I think that the latest version of [PyQt5-sip (12.8.0)](https://pypi.org/project/PyQt5-sip/#history) is linked to the PyQt5 5.15 version ... I have no idea to what version I should revert that plays with the available PyQt5 5.12.3 on `conda-forge` ... 

I had a look at `pyqtchart` ... the versioning seems clearer there, I think we should have the feedstock start with [5.12](https://pypi.org/project/PyQtChart/5.12/#files) (as that is the version of the available PyQt5 on `conda-forge` ... however ...  that version only deliveres `wheels`, and I have no clue how I can get a feedstock up and running from `wheels`! The latest 2 versions of `pyqtchart` **do** have a standard `.tar.gz` artifact :smile: 

`pyqtwebengine` has pretty much the same situation going on as `pyqtchart` in that the version we need has only `wheels` and the recent ones (for pyqt=5.15.0) **do** have source artifacts.

@ccordoba12 how do we proceed ?
Let me correct myself, we **don't need** feedstocks for those 3 packages ... (cfr: https://github.com/conda-forge/staged-recipes/pull/12219#)
@nerohmot, could you post a detailed, step-by-step description of how you're creating your s4 environment? Please start from the very beginning, i.e. from the exact Miniforge version you're downloading and installing.
Ok, so I thought : "let's remove these 3 'pip' packages, and see what else is removed"

<details>

```sh
(spyder) nerohmot@THOR:~$ conda list qt
# packages in environment at /home/nerohmot/conda-envs/spyder:
#
# Name                    Version                   Build  Channel
pyqt                      5.12.3           py37h8685d9f_3    conda-forge
pyqt5-sip                 4.19.18                  pypi_0    pypi
pyqtchart                 5.12                     pypi_0    pypi
pyqtwebengine             5.12.1                   pypi_0    pypi
pytest-qt                 3.3.0                      py_0    conda-forge
qt                        5.12.5               hd8c4c69_1    conda-forge
qtawesome                 0.7.2              pyh9f0ad1d_0    conda-forge
qtconsole                 4.7.5              pyh9f0ad1d_0    conda-forge
qtpy                      1.9.0                      py_0    conda-forge
sphinxcontrib-qthelp      1.0.3                      py_0    conda-forge
(spyder) nerohmot@THOR:~$ conda remove pyqt5-sip
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are missing from the target environment:
  - pyqt5-sip


(spyder) nerohmot@THOR:~$ conda remove pyqtchart
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are missing from the target environment:
  - pyqtchart


(spyder) nerohmot@THOR:~$ conda remove pyqtwebengine
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are missing from the target environment:
  - pyqtwebengine


(spyder) nerohmot@THOR:~$ 
```

</details>

no such luck ... apparently the 3 packages are not installed in the first place ... :angry: I don't get what `conda` is doing !

OK, next idea: "I `pip install` the 3 packages, and then `conda remove` them and see what else (the guilty packages) is removed.

```
(spyder) nerohmot@THOR:~$ pip install pyqt5-sip
Requirement already satisfied: pyqt5-sip in ./conda-envs/spyder/lib/python3.7/site-packages (4.19.18)
(spyder) nerohmot@THOR:~$
```
what is it now, installed or not?
also in the site-packages there is **no** entry for either of the 3 packages ...
these are ghost pacages !
Ok, I can confirm, the `ghost pacakges` are created by the `conda install pyqt` command.
... out of inspiration ...

@ccordoba12 : https://github.com/conda-forge/pyqt-feedstock/issues/77
should be fixed soon :smile: 

@impact27, despite all your efforts, this problem is still happening for some users in all operating systems (this one is about Linux).

So I think the only solution for it is to drop our comms channel and use instead the control channel, which is created at kernel initialization time (so there's no need for us to do it) and it was added for this kind of job (i.e. to have an extra channel for debuggers and stuff like that).

What do you think?
> So I think the only solution for it is to drop our comms channel and use instead the control channel, which is created at kernel initialization time (so there's no need for us to do it) and it was added for this kind of job (i.e. to have an extra channel for debuggers and stuff like that).

This wouldn't work, see https://github.com/ipython/ipykernel/issues/447
Is this issue still present in spyder 4.1.4?
Hi @nerohmot 

> anyway, after a while the `issue reporter` pops up (best case), sometimes it doesn't pop up, but one can see the exception on the internal console! (not sure what that is all about)

Could you send the traceback that is present in the console in this case?
I think this should be solved by https://github.com/spyder-ide/spyder/pull/13174
Basically the problem is that sometimes messages are dropped when starting the console.  This should be solved in Spyder 4.1.4

Hi @impact27

Ok, next time I have this situation again I will document it better. (don't have anything anymore from that case)


The fix for this is harder and more complex than I expected. So I'm afraid we have to leave it for our next release (4.2.1).
I think most of these timeout errors come from kernels that fail to launch for unrelated reasons. 

Proposal:
 - The `blocking=True` option should automatically fail if the kernel is not connected.
 - Any function that calls `blocking=True` should handle the case where the kernel is not up yet.
 - The timeout error should only be displayed if the kernel is up and resonsive on the other comms. (And displayed in the shellwidget?)

I will try something on a PR

At least for the restart, PR https://github.com/jupyter/qtconsole/pull/450 would probably help because otherwise the open message is sent before the restart
(In `_finalise_restart` in client.py)

Resolving patch:
diff --git a/spyder/plugins/ipythonconsole/comms/kernelcomm.py b/spyder/plugins/ipythonconsole/comms/kernelcomm.py
--- a/spyder/plugins/ipythonconsole/comms/kernelcomm.py
+++ b/spyder/plugins/ipythonconsole/comms/kernelcomm.py
@@ -16,7 +16,7 @@
 from qtpy.QtCore import QEventLoop, QObject, QTimer, Signal
 import zmq
 
-from spyder_kernels.comms.commbase import CommBase
+from spyder_kernels.comms.commbase import CommBase, CommError
 from spyder.py3compat import TimeoutError
 
 logger = logging.getLogger(__name__)
@@ -82,11 +82,7 @@ def comm_channel_manager(self, comm_id, queue_message=False):
         if not self.comm_channel_connected():
             # Ask again for comm config
             self.remote_call()._send_comm_config()
-            timeout = 25
-            self._wait(self.comm_channel_connected,
-                       self._sig_comm_port_changed,
-                       "Timeout while waiting for comm port.",
-                       timeout)
+            raise CommError("Comm not connected.")
 
         id_list = self.get_comm_id_list(comm_id)
         for comm_id in id_list:
@@ -140,21 +136,42 @@ def _get_call_return_value(self, call_dict, call_data, comm_id):
                 raise RuntimeError("Kernel is dead")
             else:
                 # The user has other problems
+                logger.info(
+                    "Dropping message because kernel is dead: ",
+                    str(call_dict)
+                )
                 return
 
         settings = call_dict['settings']
         interrupt = 'interrupt' in settings and settings['interrupt']
-
+        interrupt = interrupt or blocking
+        # Need to make sure any blocking call is replied rapidly.
+        if interrupt and not self.comm_channel_connected():
+            # Ask again for comm config
+            self.remote_call()._send_comm_config()
+            # Can not interrupt if comm not connected
+            interrupt = False
+            logger.debug(
+                "Dropping interrupt because comm is disconnected: " +
+                str(call_dict)
+            )
+            if blocking:
+                raise CommError("Cannot block on a disconnected comm")
         try:
             with self.comm_channel_manager(
                     comm_id, queue_message=not interrupt):
                 return super(KernelComm, self)._get_call_return_value(
                     call_dict, call_data, comm_id)
-        except RuntimeError:
+        except RuntimeError as e:
             if blocking:
                 raise
             else:
                 # The user has other problems
+                logger.info(
+                    "Dropping message because of exception: ",
+                    str(e),
+                    str(call_dict)
+                )
                 return
 
     def _wait_reply(self, call_id, call_name, timeout):
diff --git a/spyder/plugins/ipythonconsole/widgets/help.py b/spyder/plugins/ipythonconsole/widgets/help.py
--- a/spyder/plugins/ipythonconsole/widgets/help.py
+++ b/spyder/plugins/ipythonconsole/widgets/help.py
@@ -24,6 +24,7 @@
 from spyder.py3compat import TimeoutError
 from spyder_kernels.utils.dochelpers import (getargspecfromtext,
                                              getsignaturefromtext)
+from spyder_kernels.comms.commbase import CommError
 
 
 class HelpWidget(RichJupyterWidget):
@@ -131,25 +132,23 @@ def is_defined(self, objtxt, force_import=False):
         """Return True if object is defined"""
         try:
             return self.call_kernel(
-                interrupt=True, blocking=True
+                blocking=True
                 ).is_defined(objtxt, force_import=force_import)
-        except (TimeoutError, UnpicklingError, RuntimeError):
+        except (TimeoutError, UnpicklingError, RuntimeError, CommError):
             return None
 
     def get_doc(self, objtxt):
         """Get object documentation dictionary"""
         try:
-            return self.call_kernel(interrupt=True, blocking=True
-                                    ).get_doc(objtxt)
-        except (TimeoutError, UnpicklingError, RuntimeError):
+            return self.call_kernel(blocking=True).get_doc(objtxt)
+        except (TimeoutError, UnpicklingError, RuntimeError, CommError):
             return None
 
     def get_source(self, objtxt):
         """Get object source"""
         try:
-            return self.call_kernel(interrupt=True, blocking=True
-                                    ).get_source(objtxt)
-        except (TimeoutError, UnpicklingError, RuntimeError):
+            return self.call_kernel(blocking=True).get_source(objtxt)
+        except (TimeoutError, UnpicklingError, RuntimeError, CommError):
             return None
 
     #---- Private methods (overrode by us) ---------------------------------
diff --git a/spyder/plugins/ipythonconsole/widgets/namespacebrowser.py b/spyder/plugins/ipythonconsole/widgets/namespacebrowser.py
--- a/spyder/plugins/ipythonconsole/widgets/namespacebrowser.py
+++ b/spyder/plugins/ipythonconsole/widgets/namespacebrowser.py
@@ -24,6 +24,7 @@
 
 from spyder.config.base import _
 from spyder.py3compat import PY2, to_text_string, TimeoutError
+from spyder_kernels.comms.commbase import CommError
 
 
 logger = logging.getLogger(__name__)
@@ -91,12 +92,12 @@ def get_value(self, name):
         reason_not_picklable = _("The variable is not picklable")
         reason_dead = _("The kernel is dead")
         reason_other = _("An error occured, see the console.")
+        reason_comm = _("The comm channel is not working.")
         msg = _("%s.<br><br>"
                 "Note: Please don't report this problem on Github, "
                 "there's nothing to do about it.")
         try:
             return self.call_kernel(
-                interrupt=True,
                 blocking=True,
                 display_error=True,
                 timeout=CALL_KERNEL_TIMEOUT).get_value(name)
@@ -108,6 +109,8 @@ def get_value(self, name):
             raise ValueError(msg % reason_dead)
         except KeyError:
             raise
+        except CommError:
+            raise ValueError(msg % reason_comm)
         except Exception:
             raise ValueError(msg % reason_other)
 
@@ -148,7 +151,6 @@ def load_data(self, filename, ext):
             overwrite = result == QMessageBox.Yes
         try:
             return self.call_kernel(
-                interrupt=True,
                 blocking=True,
                 display_error=True,
                 timeout=CALL_KERNEL_TIMEOUT).load_data(
@@ -164,20 +166,19 @@ def load_data(self, filename, ext):
         except TimeoutError:
             msg = _("Data is too big to be loaded")
             return msg
-        except (UnpicklingError, RuntimeError):
+        except (UnpicklingError, RuntimeError, CommError):
             return None
 
     def save_namespace(self, filename):
         try:
             return self.call_kernel(
-                interrupt=True,
                 blocking=True,
                 display_error=True,
                 timeout=CALL_KERNEL_TIMEOUT).save_namespace(filename)
         except TimeoutError:
             msg = _("Data is too big to be saved")
             return msg
-        except (UnpicklingError, RuntimeError):
+        except (UnpicklingError, RuntimeError, CommError):
             return None
 
     # ---- Private API (overrode by us) ----------------------------


Test patch: