spyder-ide / spyder

Official repository for Spyder - The Scientific Python Development Environment
https://www.spyder-ide.org
MIT License
8.25k stars 1.6k forks source link

Spyder 5.0.5 on macOS Big Sur is very slow #16148

Closed muhlbach closed 3 years ago

muhlbach commented 3 years ago

Problem Description

When I run Python code interactively via the Spyder IDE, it is extremely slow. This is particularly the case when I split the screen horizontally. I've checked that I'm not running any heavy processes in the background. It happens even if I run simple programs with almost no data.

What steps reproduce the problem?

  1. Split the screen horizontally
  2. Run any program interactively for more than 5 minutes

Versions

packages in environment at /Users/muhlbach/opt/anaconda3/envs/main:

#

Name Version Build Channel

_ipyw_jlab_nb_ext_conf 0.1.0 py38_0
_py-xgboost-mutex 2.0 cpu_0
alabaster 0.7.12 pyhd3eb1b0_0
anaconda-client 1.8.0 py38hecd8cb5_0
anyio 2.2.0 py38hecd8cb5_1
appdirs 1.4.4 py_0
applaunchservices 0.2.1 py_0
appnope 0.1.2 py38hecd8cb5_1001
argh 0.26.2 py38_0
argon2-cffi 20.1.0 py38h9ed2024_1
arrow 1.1.1 py38hecd8cb5_0
arviz 0.11.2 pyhd3eb1b0_0
astroid 2.6.5 py38hecd8cb5_0
async_generator 1.10 pyhd3eb1b0_0
atomicwrites 1.4.0 py_0
attrs 21.2.0 pyhd3eb1b0_0
autograd 1.3 py_0 conda-forge autopep8 1.5.5 pyh44b312d_0 conda-forge babel 2.9.1 pyhd3eb1b0_0
backcall 0.2.0 pyhd3eb1b0_0
backports 1.0 pyhd3eb1b0_2
backports.functools_lru_cache 1.6.4 pyhd3eb1b0_0
backports.tempfile 1.0 pyhd3eb1b0_1
backports.weakref 1.0.post1 py_1
bats 0.4.0 1 bioconda beautifulsoup4 4.9.3 pyha847dfd_0
binaryornot 0.4.4 pyhd3eb1b0_1
black 19.10b0 py_0
blas 1.0 openblas
bleach 3.3.1 pyhd3eb1b0_0
blosc 1.21.0 h2842e9f_0
bokeh 2.3.3 py38hecd8cb5_0
brotlipy 0.7.0 py38h9ed2024_1003
bzip2 1.0.8 h1de35cc_0
ca-certificates 2021.7.5 hecd8cb5_1
cctools_osx-64 949.0.1 h6407bdd_22 conda-forge certifi 2021.5.30 py38hecd8cb5_0
cffi 1.14.6 py38h2125817_0
cftime 1.5.0 py38he3068b8_0
chardet 4.0.0 py38hecd8cb5_1003
clang 11.1.0 h694c41f_1 conda-forge clang-11 11.1.0 default_he082bbe_1 conda-forge clang_osx-64 11.1.0 hb91bd55_2 conda-forge clangxx 11.1.0 default_he082bbe_1 conda-forge clangxx_osx-64 11.1.0 h7e1b574_2 conda-forge click 8.0.1 pyhd3eb1b0_0
cloudpickle 1.6.0 py_0
clyent 1.2.2 py38_1
compiler-rt 11.1.0 h654b07c_0 conda-forge compiler-rt_osx-64 11.1.0 h8c5fa43_0 conda-forge conda-content-trust 0.1.1 pyhd3eb1b0_0
conda-package-handling 1.7.3 py38h9ed2024_1
conda-repo-cli 1.0.4 pyhd3eb1b0_0
conda-verify 3.4.2 py_1
convertdate 2.3.2 pyhd8ed1ab_0 conda-forge cookiecutter 1.7.2 pyhd3eb1b0_0
cryptography 3.4.7 py38h2fd3fbb_0
curl 7.71.1 h7bc2e8c_2
cvxpy 1.1.13 py38h50d1736_0 conda-forge cvxpy-base 1.1.13 py38h1f261ad_0 conda-forge cycler 0.10.0 py38_0
cython 0.29.23 py38h23ab428_0
cytoolz 0.11.0 py38haf1e3a3_0
daal4py 2021.3.0 py38h01d92e1_0
dal 2021.3.0 hecd8cb5_555
dask 2021.7.0 pyhd3eb1b0_0
dask-core 2021.7.0 pyhd3eb1b0_0
dbus 1.13.18 h18a8e69_0
decorator 5.0.9 pyhd3eb1b0_0
defusedxml 0.7.1 pyhd3eb1b0_0
deprecated 1.2.12 pyhd3eb1b0_0
descartes 1.1.0 py_4
diff-match-patch 20200713 py_0
distributed 2021.7.0 py38hecd8cb5_0
docutils 0.17.1 py38hecd8cb5_1
ecos 2.0.7.post1 py38he3068b8_0
entrypoints 0.3 py38_0
ephem 4.0.0.2 py38h9ed2024_0
et_xmlfile 1.1.0 py38hecd8cb5_0
expat 2.4.1 h23ab428_2
feature_engine 1.1.0 pyhd8ed1ab_0 conda-forge featuretools 0.26.1 pyhd8ed1ab_0 conda-forge filelock 3.0.12 pyhd3eb1b0_1
flake8 3.8.4 py_0 conda-forge freetype 2.10.4 ha233b18_0
freezegun 1.1.0 pyhd3eb1b0_0
fsspec 2021.7.0 pyhd3eb1b0_0
future 0.18.2 py38_1
gensim 4.0.1 py38h23ab428_0
gettext 0.21.0 h7535e17_0
glib 2.69.0 hdf23fa2_0
glob2 0.7 pyhd3eb1b0_0
hcrystalball 0.1.10 pyhd8ed1ab_0 conda-forge hdf4 4.2.13 h39711bb_2
hdf5 1.10.6 nompi_hc5d9132_1114 conda-forge heapdict 1.0.1 py_0
hijri-converter 2.1.3 pyhd8ed1ab_0 conda-forge holidays 0.11.2 pyhd8ed1ab_0 conda-forge icu 58.2 h0a44026_3
idna 2.10 pyhd3eb1b0_0
imagesize 1.2.0 pyhd3eb1b0_0
importlib-metadata 3.10.0 py38hecd8cb5_0
importlib_metadata 3.10.0 hd3eb1b0_0
inflection 0.5.1 py38hecd8cb5_0
intel-openmp 2021.3.0 hecd8cb5_3375
intervaltree 3.1.0 py_0
ipykernel 5.3.4 py38h5ca1d4c_0
ipython 7.22.0 py38h01d92e1_0
ipython_genutils 0.2.0 pyhd3eb1b0_1
ipywidgets 7.6.3 pyhd3eb1b0_1
isort 5.9.2 pyhd3eb1b0_0
jdcal 1.4.1 py_0
jedi 0.17.2 py38hecd8cb5_1
jinja2 2.11.3 pyhd3eb1b0_0
jinja2-time 0.2.0 py_2 conda-forge joblib 1.0.1 pyhd3eb1b0_0
jpeg 9b he5867d9_2
jplephem 2.15 pyh2f6353c_0 conda-forge json5 0.9.6 pyhd3eb1b0_0
jsonschema 3.2.0 py_2
jupyter-packaging 0.7.12 pyhd3eb1b0_0
jupyter_client 6.1.12 pyhd3eb1b0_0
jupyter_core 4.7.1 py38hecd8cb5_0
jupyter_server 1.4.1 py38hecd8cb5_0
jupyterlab 3.0.14 pyhd3eb1b0_1
jupyterlab_pygments 0.1.2 py_0
jupyterlab_server 2.6.1 pyhd3eb1b0_0
jupyterlab_widgets 1.0.0 pyhd3eb1b0_1
keyring 23.0.1 py38hecd8cb5_0
kiwisolver 1.3.1 py38h23ab428_0
korean_lunar_calendar 0.2.1 pyh9f0ad1d_0 conda-forge krb5 1.19.2 hcd88c3b_0
lazy-object-proxy 1.6.0 py38h9ed2024_0
lcms2 2.12 hf1fd2bf_0
ld64_osx-64 530 he8994da_21 conda-forge ldid 2.1.2 h7660a38_2 conda-forge libarchive 3.4.2 haa3ed63_0
libblas 3.9.0 10_openblas conda-forge libcblas 3.9.0 10_openblas conda-forge libclang-cpp11.1 11.1.0 default_he082bbe_1 conda-forge libcurl 7.71.1 hb8e4fae_2
libcxx 12.0.1 habf9029_0 conda-forge libedit 3.1.20210216 h9ed2024_1
libffi 3.3 hb1e8313_2
libgfortran 5.0.0 9_3_0_h6c81a4c_23 conda-forge libgfortran5 9.3.0 h6c81a4c_23 conda-forge libiconv 1.16 h1de35cc_0
liblapack 3.9.0 10_openblas conda-forge liblief 0.10.1 h0a44026_0
libllvm10 10.0.1 h76017ad_5
libllvm11 11.1.0 hd011deb_2 conda-forge libllvm12 12.0.1 hd011deb_0 conda-forge libnetcdf 4.6.1 hfd9a460_4
libopenblas 0.3.17 openmp_h3351f45_1 conda-forge libpng 1.6.37 ha441bb4_0
libsodium 1.0.18 h1de35cc_0
libspatialindex 1.9.3 h23ab428_0
libssh2 1.9.0 ha12b0ac_1
libtiff 4.2.0 h87d7836_0
libwebp-base 1.2.0 h9ed2024_0
libxgboost 1.3.3 h23ab428_0
libxml2 2.9.12 hcdb78fc_0
llvm-openmp 12.0.1 hda6cdc1_1 conda-forge llvm-tools 11.1.0 hd011deb_2 conda-forge llvmlite 0.34.0 py38h739e7dc_4 anaconda locket 0.2.1 py38hecd8cb5_1
lunarcalendar 0.0.9 py_0 conda-forge lunardate 0.2.0 py_0 conda-forge lz4-c 1.9.3 h23ab428_0
markupsafe 1.1.1 py38h1de35cc_1
matplotlib 3.3.4 py38hecd8cb5_0
matplotlib-base 3.3.4 py38h8b3ea08_0
mccabe 0.6.1 py38_1
mistune 0.8.4 py38h1de35cc_1001
mizani 0.7.3 pyhd8ed1ab_0 conda-forge mkl 2020.4 h08c4f10_301 conda-forge mkl-service 2.3.0 py38h4d0b108_2 conda-forge mkl_fft 1.3.0 py38h8cc9b4f_1 conda-forge mkl_random 1.2.0 py38h11c0d25_1 conda-forge mlxtend 0.18.0 pyhd3deb0d_0 conda-forge mock 4.0.3 pyhd3eb1b0_0
mpi 1.0 mpich
mpich 3.3.2 external_0
msgpack-python 1.0.2 py38hf7b0b51_1
mypy_extensions 0.4.3 py38_0
navigator-updater 0.2.1 py38_0
nbclassic 0.2.6 pyhd3eb1b0_0
nbclient 0.5.3 pyhd3eb1b0_0
nbconvert 6.1.0 py38hecd8cb5_0
nbformat 5.1.3 pyhd3eb1b0_0
ncurses 6.2 h0a44026_1
nest-asyncio 1.5.1 pyhd3eb1b0_0
netcdf4 1.5.7 py38h1695cb1_0
nltk 3.6.2 pyhd3eb1b0_0
notebook 6.4.0 py38hecd8cb5_0
numba 0.51.2 py38h6be0db6_0 conda-forge numexpr 2.7.3 py38h7ec9b2a_1
numpy 1.19.5 py38had91d27_2 conda-forge numpy-base 1.19.1 py38h68fea81_0 anaconda numpydoc 1.1.0 pyhd3eb1b0_1
olefile 0.46 py_0
openjpeg 2.3.0 hb95cd4c_1
openpyxl 3.0.7 pyhd3eb1b0_0
openssl 1.1.1k h9ed2024_0
osqp 0.6.2 py38h1588c1c_1 conda-forge packaging 21.0 pyhd3eb1b0_0
palettable 3.3.0 py_0
pandas 1.2.4 py38h23ab428_0
pandocfilters 1.4.3 py38hecd8cb5_1
parso 0.7.0 pyh9f0ad1d_0 conda-forge partd 1.2.0 pyhd3eb1b0_0
pathspec 0.7.0 py_0
patsy 0.5.1 py38_0
pcre 8.45 h23ab428_0
pexpect 4.8.0 pyhd3eb1b0_3
pickleshare 0.7.5 pyhd3eb1b0_1003
pillow 8.3.1 py38ha4cf6ea_0
pip 21.1.3 py38hecd8cb5_0
pkginfo 1.7.1 py38hecd8cb5_0
plotly 5.1.0 pyhd3eb1b0_0
plotnine 0.8.0 pyhd8ed1ab_0 conda-forge pluggy 0.13.1 py38hecd8cb5_0
pmdarima 1.8.2 py38h0793694_1 conda-forge poyo 0.5.0 pyhd3eb1b0_0
prometheus_client 0.11.0 pyhd3eb1b0_0
prompt-toolkit 3.0.17 pyh06a4308_0
prophet 1.0.1 py38h6c79ece_3 conda-forge psutil 5.8.0 py38h9ed2024_1
ptyprocess 0.7.0 pyhd3eb1b0_2
py-lief 0.10.1 py38haf313ee_0
py-xgboost 1.3.3 py38hecd8cb5_0
pyaml 20.4.0 pyhd3eb1b0_0
pycalverter 1.6.1 py_0 conda-forge pycodestyle 2.6.0 pyhd3eb1b0_0
pycosat 0.6.3 py38h1de35cc_1
pycparser 2.20 py_2
pydocstyle 6.1.1 pyhd3eb1b0_0
pyflakes 2.2.0 pyhd3eb1b0_0
pygments 2.9.0 pyhd3eb1b0_0
pylint 2.9.6 py38hecd8cb5_1
pyls-black 0.4.6 hd3eb1b0_0
pyls-spyder 0.3.2 pyhd3eb1b0_0
pyluach 1.3.0 pyhd8ed1ab_0 conda-forge pymeeus 0.5.10 pyhd8ed1ab_0 conda-forge pynndescent 0.5.4 pyhd3eb1b0_0
pyopenssl 20.0.1 pyhd3eb1b0_1
pyparsing 2.4.7 pyhd3eb1b0_0
pyqt 5.9.2 py38h655552a_2
pyrsistent 0.17.3 py38haf1e3a3_0
pysocks 1.7.1 py38_1
pystan 2.19.1.1 py38h1f261ad_3 conda-forge pytables 3.6.1 py38hfb086ad_3 conda-forge python 3.8.10 h88f2d9e_7
python-dateutil 2.8.2 pyhd3eb1b0_0
python-jsonrpc-server 0.4.0 py_0
python-language-server 0.36.2 pyhd3eb1b0_0
python-libarchive-c 2.9 pyhd3eb1b0_1
python-slugify 5.0.2 pyhd3eb1b0_0
python.app 3 py38h9ed2024_0
python_abi 3.8 2_cp38 conda-forge pytz 2021.1 pyhd3eb1b0_0
pyyaml 5.4.1 py38h9ed2024_1
pyzmq 20.0.0 py38h23ab428_1
qdarkstyle 3.0.2 pyhd3eb1b0_0
qdldl-python 0.1.5 py38he9f00de_0 conda-forge qstylizer 0.1.10 pyhd3eb1b0_0
qt 5.9.7 h468cd18_1
qtawesome 1.0.2 pyhd3eb1b0_0
qtconsole 5.1.0 pyhd3eb1b0_0
qtpy 1.9.0 py_0
readline 8.1 h9ed2024_0
regex 2021.7.6 py38h9ed2024_0
requests 2.25.1 pyhd3eb1b0_0
ripgrep 12.1.1 0
rope 0.19.0 pyhd3eb1b0_0
rtree 0.9.7 py38hecd8cb5_1
ruamel_yaml 0.15.100 py38h9ed2024_0
scikit-learn 0.24.2 py38hb2f4e1b_0
scikit-learn-intelex 2021.3.0 py38hecd8cb5_0
scikit-lego 0.6.8 pyhd8ed1ab_0 conda-forge scikit-misc 0.1.3 py38h050221e_2 conda-forge scikit-optimize 0.8.1 pyh9f0ad1d_0 conda-forge scipy 1.7.0 py38h431c0a8_1 conda-forge scs 2.1.4 py38h157bc03_0 conda-forge seaborn 0.11.1 pyhd3eb1b0_0
send2trash 1.5.0 pyhd3eb1b0_1
setuptools 49.6.0 py38h50d1736_3 conda-forge sgp4 2.20 py38he35c9cc_0 conda-forge sip 4.19.8 py38h0a44026_0
six 1.15.0 py38hecd8cb5_0
skorch 0.10.0 pyh59e0f4d_0 conda-forge sktime 0.6.1 py38ha048514_0 conda-forge skyfield 1.39 pyh44b312d_0 conda-forge skyfield-data 3.0.0 pyhd3deb0d_0 conda-forge smart_open 5.1.0 pyhd8ed1ab_1 conda-forge sniffio 1.2.0 py38hecd8cb5_1
snowballstemmer 2.1.0 pyhd3eb1b0_0
sortedcontainers 2.4.0 pyhd3eb1b0_0
soupsieve 2.2.1 pyhd3eb1b0_0
sphinx 4.0.2 pyhd3eb1b0_0
sphinxcontrib-applehelp 1.0.2 pyhd3eb1b0_0
sphinxcontrib-devhelp 1.0.2 pyhd3eb1b0_0
sphinxcontrib-htmlhelp 2.0.0 pyhd3eb1b0_0
sphinxcontrib-jsmath 1.0.1 pyhd3eb1b0_0
sphinxcontrib-qthelp 1.0.3 pyhd3eb1b0_0
sphinxcontrib-serializinghtml 1.1.5 pyhd3eb1b0_0
spyder 5.0.5 py38hecd8cb5_2
spyder-kernels 2.0.5 py38hecd8cb5_0
sqlite 3.36.0 hce871da_0
statsmodels 0.12.2 py38h9ed2024_0
tabulate 0.8.9 py38hecd8cb5_0
tapi 1100.0.11 h9ce4665_0 conda-forge tbb 2021.3.0 hf7b0b51_0
tblib 1.7.0 py_0
tenacity 6.3.1 py38hecd8cb5_0
terminado 0.9.4 py38hecd8cb5_0
testfixtures 6.18.0 pyhd3eb1b0_0
testpath 0.5.0 pyhd3eb1b0_0
text-unidecode 1.3 py_0
textdistance 4.2.1 pyhd3eb1b0_0
threadpoolctl 2.2.0 pyhb85f177_0
three-merge 0.1.1 pyhd3eb1b0_0
tinycss 0.4 pyhd3eb1b0_1002
tk 8.6.10 hb0a8c7a_0
toml 0.10.2 pyhd3eb1b0_0
toolz 0.11.1 pyhd3eb1b0_0
tornado 6.1 py38h9ed2024_0
tqdm 4.61.2 pyhd3eb1b0_1
traitlets 5.0.5 pyhd3eb1b0_0
tslearn 0.5.1.0 py38h0793694_0 conda-forge typed-ast 1.4.3 py38h9ed2024_1
typing-extensions 3.10.0.0 hd3eb1b0_0
typing_extensions 3.10.0.0 pyh06a4308_0
ujson 4.0.2 py38h23ab428_0
umap-learn 0.5.1 py38h50d1736_1 conda-forge unidecode 1.2.0 pyhd3eb1b0_0
urllib3 1.26.6 pyhd3eb1b0_1
watchdog 2.1.3 py38hd5f6b7e_0
wcwidth 0.2.5 py_0
webencodings 0.5.1 py38_1
wheel 0.36.2 pyhd3eb1b0_0
whichcraft 0.6.1 pyhd3eb1b0_0
widgetsnbextension 3.5.1 py38_0
workalendar 15.4.0 pyhd8ed1ab_0 conda-forge wrapt 1.12.1 py38haf1e3a3_1
wurlitzer 2.1.1 py38hecd8cb5_0
xarray 0.19.0 pyhd3eb1b0_1
xgboost 1.3.3 py38hecd8cb5_0
xmltodict 0.12.0 py_0
xz 5.2.5 h1de35cc_0
yaml 0.2.5 haf1e3a3_0
yapf 0.31.0 pyhd3eb1b0_0
zeromq 4.3.4 h23ab428_0
zict 2.0.0 pyhd3eb1b0_0
zipp 3.5.0 pyhd3eb1b0_0
zlib 1.2.11 h1de35cc_3
zstd 1.4.9 h322a384_0

ccordoba12 commented 3 years ago

Hey @muhlbach, thanks for reporting. The only known workaround to make Spyder work in Big Sur is to download our DMG installer and then connect it to your conda environments by following our FAQ here.

All users that tried this have reported it solves the lags for them. Please try it and let us know if it works for you.

ccordoba12 commented 3 years ago

I also want to emphasize that this is not our fault but Anaconda's because they haven't updated their Qt/PyQt packages (the graphical toolkit Spyder is built on) in a long time, and the current version doesn't support Big Sur.

muhlbach commented 3 years ago

Hey @ccordoba12! Thank you for the prompt reply (and thank you for a great IDE, love Spyder)!

Okay, fair enough. I will try the DMG installer then. What happens if I then run something like conda update --all with Spyder being installed via the dmg?

Also, I don't believe I had this problem for earlier version of Spyder. Do you think it would work for me to downgrade Spyder to 4.X?

ccordoba12 commented 3 years ago

and thank you for a great IDE, love Spyder

Glad to hear that!

What happens if I then run something like conda update --all with Spyder being installed via the dmg?

There won't be any problems. You can safely keep using conda along our DMG installer. That's because our installer comes with a separate Python version, so it doesn't interfere with Anaconda.

Also, I don't believe I had this problem for earlier version of Spyder. Do you think it would work for me to downgrade Spyder to 4.X?

Unfortunately, that won't change anything. This problem is not related to Spyder but to Qt, so all our versions are affected by it.

ccordoba12 commented 3 years ago

I'm going to close this issue because I think there's no more we can do for you.