ContinuumIO / anaconda-issues

Anaconda issue tracking
648 stars 223 forks source link

Spyder 4.0.1 won't open #11675

Closed MisterProtocol closed 4 years ago

MisterProtocol commented 4 years ago

Actual Behavior

I installed the Anaconda3-2020.02-MacOSX-x86_64.pkg package on my Mac. It installed Anaconda Navigator 1.9.12, with Spyder 4.0.1. In the Navigator, Jupyter-Lab opens and runs fine, but when I try to open Spyder, the "busy bar" in the lower right corner chugs for a while, stops, and nothing opens or happens. Activity Monitor shows Spyder is running, but it's incommunicado. Navigator knows it's running and duly shuts it down when I exit the Navigator. I tried running Spyder manually from a Terminal window, but I get this:

[Abaia:~] obrien% spyder /Users/obrien/opt/anaconda3/bin/pythonw: line 3: 28309 Illegal instruction: 4 /Users/obrien/opt/anaconda3/python.app/Contents/MacOS/python "$@" [Abaia:~] obrien%

Expected Behavior

I would expect, either in Navigator or Terminal, to have a Spyder window open and then offer to install Kite. This is what happened when I upgraded Navigator on my Macbook Pro laptop.

Steps to Reproduce

Install the referenced package on a Mac running MacOS Mojave 10.14.6.

Anaconda or Miniconda version:

2020.02 x86-64

Operating System:

MacOS Mojave 10.14.16 patched to current

conda info
``` PASTE OUTPUT HERE: active environment : None shell level : 0 user config file : /Users/obrien/.condarc populated config files : /Users/obrien/.condarc conda version : 4.8.3 conda-build version : 3.18.11 python version : 3.7.6.final.0 virtual packages : __osx=10.14.6 base environment : /Users/obrien/opt/anaconda3 (writable) channel URLs : https://repo.anaconda.com/pkgs/main/osx-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/osx-64 https://repo.anaconda.com/pkgs/r/noarch package cache : /Users/obrien/opt/anaconda3/pkgs /Users/obrien/.conda/pkgs envs directories : /Users/obrien/opt/anaconda3/envs /Users/obrien/.conda/envs platform : osx-64 user-agent : conda/4.8.3 requests/2.22.0 CPython/3.7.6 Darwin/18.7.0 OSX/10.14.6 UID:GID : 501:20 netrc file : None offline mode : False ```
conda list --show-channel-urls
``` PASTE OUTPUT HERE: # packages in environment at /Users/obrien/opt/anaconda3: # # Name Version Build Channel _ipyw_jlab_nb_ext_conf 0.1.0 py37_0 defaults alabaster 0.7.12 py37_0 defaults anaconda 2020.02 py37_0 defaults anaconda-client 1.7.2 py37_0 defaults anaconda-navigator 1.9.12 py37_0 defaults anaconda-project 0.8.4 py_0 defaults applaunchservices 0.2.1 py_0 defaults appnope 0.1.0 py37_0 defaults appscript 1.1.0 py37h1de35cc_0 defaults argh 0.26.2 py37_0 defaults asn1crypto 1.3.0 py37_0 defaults astroid 2.3.3 py37_0 defaults astropy 4.0 py37h1de35cc_0 defaults atomicwrites 1.3.0 py37_1 defaults attrs 19.3.0 py_0 defaults autopep8 1.4.4 py_0 defaults babel 2.8.0 py_0 defaults backcall 0.1.0 py37_0 defaults backports 1.0 py_2 defaults backports.functools_lru_cache 1.6.1 py_0 defaults backports.shutil_get_terminal_size 1.0.0 py37_2 defaults backports.tempfile 1.0 py_1 defaults backports.weakref 1.0.post1 py_1 defaults beautifulsoup4 4.8.2 py37_0 defaults bitarray 1.2.1 py37h1de35cc_0 defaults bkcharts 0.2 py37_0 defaults blas 1.0 mkl defaults bleach 3.1.0 py37_0 defaults blosc 1.16.3 hd9629dc_0 defaults bokeh 1.4.0 py37_0 defaults boto 2.49.0 py37_0 defaults bottleneck 1.3.2 py37h776bbcc_0 defaults bzip2 1.0.8 h1de35cc_0 defaults ca-certificates 2020.1.1 0 defaults certifi 2019.11.28 py37_0 defaults cffi 1.14.0 py37hb5b8e2f_0 defaults chardet 3.0.4 py37_1003 defaults click 7.0 py37_0 defaults cloudpickle 1.3.0 py_0 defaults clyent 1.2.2 py37_1 defaults colorama 0.4.3 py_0 defaults conda 4.8.3 py37_0 defaults conda-build 3.18.11 py37_0 defaults conda-env 2.6.0 1 defaults conda-package-handling 1.6.0 py37h1de35cc_0 defaults conda-verify 3.4.2 py_1 defaults contextlib2 0.6.0.post1 py_0 defaults cryptography 2.8 py37ha12b0ac_0 defaults curl 7.68.0 ha441bb4_0 defaults cycler 0.10.0 py37_0 defaults cython 0.29.15 py37h0a44026_0 defaults cytoolz 0.10.1 py37h1de35cc_0 defaults dask 2.11.0 py_0 defaults dask-core 2.11.0 py_0 defaults dbus 1.13.12 h90a0687_0 defaults decorator 4.4.1 py_0 defaults defusedxml 0.6.0 py_0 defaults diff-match-patch 20181111 py_0 defaults distributed 2.11.0 py37_0 defaults docutils 0.16 py37_0 defaults entrypoints 0.3 py37_0 defaults et_xmlfile 1.0.1 py37_0 defaults expat 2.2.6 h0a44026_0 defaults fastcache 1.1.0 py37h1de35cc_0 defaults filelock 3.0.12 py_0 defaults flake8 3.7.9 py37_0 defaults flask 1.1.1 py_0 defaults freetype 2.9.1 hb4e5f40_0 defaults fsspec 0.6.2 py_0 defaults future 0.18.2 py37_0 defaults get_terminal_size 1.0.0 h7520d66_0 defaults gettext 0.19.8.1 h15daf44_3 defaults gevent 1.4.0 py37h1de35cc_0 defaults glib 2.63.1 hd977a24_0 defaults glob2 0.7 py_0 defaults gmp 6.1.2 hb37e062_1 defaults gmpy2 2.0.8 py37h6ef4df4_2 defaults greenlet 0.4.15 py37h1de35cc_0 defaults h5py 2.10.0 py37h3134771_0 defaults hdf5 1.10.4 hfa1e0ec_0 defaults heapdict 1.0.1 py_0 defaults html5lib 1.0.1 py37_0 defaults hypothesis 5.5.4 py_0 defaults icu 58.2 h4b95b61_1 defaults idna 2.8 py37_0 defaults imageio 2.6.1 py37_0 defaults imagesize 1.2.0 py_0 defaults importlib_metadata 1.5.0 py37_0 defaults intel-openmp 2019.4 233 defaults intervaltree 3.0.2 py_0 defaults ipykernel 5.1.4 py37h39e3cac_0 defaults ipython 7.12.0 py37h5ca1d4c_0 defaults ipython_genutils 0.2.0 py37_0 defaults ipywidgets 7.5.1 py_0 defaults isort 4.3.21 py37_0 defaults itsdangerous 1.1.0 py37_0 defaults jbig 2.1 h4d881f8_0 defaults jdcal 1.4.1 py_0 defaults jedi 0.14.1 py37_0 defaults jinja2 2.11.1 py_0 defaults joblib 0.14.1 py_0 defaults jpeg 9b he5867d9_2 defaults json5 0.9.1 py_0 defaults jsonschema 3.2.0 py37_0 defaults jupyter 1.0.0 py37_7 defaults jupyter_client 5.3.4 py37_0 defaults jupyter_console 6.1.0 py_0 defaults jupyter_core 4.6.1 py37_0 defaults jupyterlab 1.2.6 pyhf63ae98_0 defaults jupyterlab_server 1.0.6 py_0 defaults keyring 21.1.0 py37_0 defaults kiwisolver 1.1.0 py37h0a44026_0 defaults krb5 1.17.1 hddcf347_0 defaults lazy-object-proxy 1.4.3 py37h1de35cc_0 defaults libarchive 3.3.3 h786848e_5 defaults libcurl 7.68.0 h051b688_0 defaults libcxx 4.0.1 hcfea43d_1 defaults libcxxabi 4.0.1 hcfea43d_1 defaults libedit 3.1.20181209 hb402a30_0 defaults libffi 3.2.1 h475c297_4 defaults libgfortran 3.0.1 h93005f0_2 defaults libiconv 1.15 hdd342a3_7 defaults liblief 0.9.0 h2a1bed3_2 defaults libpng 1.6.37 ha441bb4_0 defaults libsodium 1.0.16 h3efe00b_0 defaults libspatialindex 1.9.3 h0a44026_0 defaults libssh2 1.9.0 ha12b0ac_1 defaults libtiff 4.1.0 hcb84e12_0 defaults libxml2 2.9.9 hf6e021a_1 defaults libxslt 1.1.33 h33a18ac_0 defaults llvm-openmp 4.0.1 hcfea43d_1 defaults llvmlite 0.31.0 py37h1341992_0 defaults locket 0.2.0 py37_1 defaults lxml 4.5.0 py37hef8c89e_0 defaults lz4-c 1.8.1.2 h1de35cc_0 defaults lzo 2.10 h362108e_2 defaults markupsafe 1.1.1 py37h1de35cc_0 defaults matplotlib 3.1.3 py37_0 defaults matplotlib-base 3.1.3 py37h9aa3819_0 defaults mccabe 0.6.1 py37_1 defaults mistune 0.8.4 py37h1de35cc_0 defaults mkl 2019.4 233 defaults mkl-service 2.3.0 py37hfbe908c_0 defaults mkl_fft 1.0.15 py37h5e564d8_0 defaults mkl_random 1.1.0 py37ha771720_0 defaults mock 4.0.1 py_0 defaults more-itertools 8.2.0 py_0 defaults mpc 1.1.0 h6ef4df4_1 defaults mpfr 4.0.1 h3018a27_3 defaults mpmath 1.1.0 py37_0 defaults msgpack-python 0.6.1 py37h04f5b5a_1 defaults multipledispatch 0.6.0 py37_0 defaults navigator-updater 0.2.1 py37_0 defaults nbconvert 5.6.1 py37_0 defaults nbformat 5.0.4 py_0 defaults ncurses 6.2 h0a44026_0 defaults networkx 2.4 py_0 defaults nltk 3.4.5 py37_0 defaults nose 1.3.7 py37_2 defaults notebook 6.0.3 py37_0 defaults numba 0.48.0 py37h6c726b0_0 defaults numexpr 2.7.1 py37hce01a72_0 defaults numpy 1.18.1 py37h7241aed_0 defaults numpy-base 1.18.1 py37h6575580_1 defaults numpydoc 0.9.2 py_0 defaults olefile 0.46 py37_0 defaults openpyxl 3.0.3 py_0 defaults openssl 1.1.1d h1de35cc_4 defaults packaging 20.1 py_0 defaults pandas 1.0.1 py37h6c726b0_0 defaults pandoc 2.2.3.2 0 defaults pandocfilters 1.4.2 py37_1 defaults parso 0.5.2 py_0 defaults partd 1.1.0 py_0 defaults path 13.1.0 py37_0 defaults path.py 12.4.0 0 defaults pathlib2 2.3.5 py37_0 defaults pathtools 0.1.2 py_1 defaults patsy 0.5.1 py37_0 defaults pcre 8.43 h0a44026_0 defaults pep8 1.7.1 py37_0 defaults pexpect 4.8.0 py37_0 defaults pickleshare 0.7.5 py37_0 defaults pillow 7.0.0 py37h4655f20_0 defaults pip 20.0.2 py37_1 defaults pkginfo 1.5.0.1 py37_0 defaults pluggy 0.13.1 py37_0 defaults ply 3.11 py37_0 defaults prometheus_client 0.7.1 py_0 defaults prompt_toolkit 3.0.3 py_0 defaults psutil 5.6.7 py37h1de35cc_0 defaults ptyprocess 0.6.0 py37_0 defaults py 1.8.1 py_0 defaults py-lief 0.9.0 py37h1413db1_2 defaults pycodestyle 2.5.0 py37_0 defaults pycosat 0.6.3 py37h1de35cc_0 defaults pycparser 2.19 py37_0 defaults pycrypto 2.6.1 py37h1de35cc_9 defaults pycurl 7.43.0.5 py37ha12b0ac_0 defaults pydocstyle 4.0.1 py_0 defaults pyflakes 2.1.1 py37_0 defaults pygments 2.5.2 py_0 defaults pylint 2.4.4 py37_0 defaults pyodbc 4.0.30 py37h0a44026_0 defaults pyopenssl 19.1.0 py37_0 defaults pyparsing 2.4.6 py_0 defaults pyqt 5.9.2 py37h655552a_2 defaults pyrsistent 0.15.7 py37h1de35cc_0 defaults pysocks 1.7.1 py37_0 defaults pytables 3.6.1 py37h5bccee9_0 defaults pytest 5.3.5 py37_0 defaults pytest-arraydiff 0.3 py37h39e3cac_0 defaults pytest-astropy 0.8.0 py_0 defaults pytest-astropy-header 0.1.2 py_0 defaults pytest-doctestplus 0.5.0 py_0 defaults pytest-openfiles 0.4.0 py_0 defaults pytest-remotedata 0.3.2 py37_0 defaults python 3.7.6 h359304d_2 defaults python-dateutil 2.8.1 py_0 defaults python-jsonrpc-server 0.3.4 py_0 defaults python-language-server 0.31.7 py37_0 defaults python-libarchive-c 2.8 py37_13 defaults python.app 2 py37_10 defaults pytz 2019.3 py_0 defaults pywavelets 1.1.1 py37h1de35cc_0 defaults pyyaml 5.3 py37h1de35cc_0 defaults pyzmq 18.1.1 py37h0a44026_0 defaults qdarkstyle 2.8 py_0 defaults qt 5.9.7 h468cd18_1 defaults qtawesome 0.6.1 py_0 defaults qtconsole 4.6.0 py_1 defaults qtpy 1.9.0 py_0 defaults readline 7.0 h1de35cc_5 defaults requests 2.22.0 py37_1 defaults ripgrep 11.0.2 he32d670_0 defaults rope 0.16.0 py_0 defaults rtree 0.9.3 py37_0 defaults ruamel_yaml 0.15.87 py37h1de35cc_0 defaults scikit-image 0.16.2 py37h6c726b0_0 defaults scikit-learn 0.22.1 py37h27c97d8_0 defaults scipy 1.4.1 py37h9fa6033_0 defaults seaborn 0.10.0 py_0 defaults send2trash 1.5.0 py37_0 defaults setuptools 46.0.0 py37_0 defaults simplegeneric 0.8.1 py37_2 defaults singledispatch 3.4.0.3 py37_0 defaults sip 4.19.8 py37h0a44026_0 defaults six 1.14.0 py37_0 defaults snappy 1.1.7 he62c110_3 defaults snowballstemmer 2.0.0 py_0 defaults sortedcollections 1.1.2 py37_0 defaults sortedcontainers 2.1.0 py37_0 defaults soupsieve 1.9.5 py37_0 defaults sphinx 2.4.0 py_0 defaults sphinxcontrib 1.0 py37_1 defaults sphinxcontrib-applehelp 1.0.1 py_0 defaults sphinxcontrib-devhelp 1.0.1 py_0 defaults sphinxcontrib-htmlhelp 1.0.2 py_0 defaults sphinxcontrib-jsmath 1.0.1 py_0 defaults sphinxcontrib-qthelp 1.0.2 py_0 defaults sphinxcontrib-serializinghtml 1.1.3 py_0 defaults sphinxcontrib-websupport 1.2.0 py_0 defaults spyder 4.0.1 py37_0 defaults spyder-kernels 1.8.1 py37_0 defaults sqlalchemy 1.3.13 py37h1de35cc_0 defaults sqlite 3.31.1 ha441bb4_0 defaults statsmodels 0.11.0 py37h1de35cc_0 defaults sympy 1.5.1 py37_0 defaults tbb 2020.0 h04f5b5a_0 defaults tblib 1.6.0 py_0 defaults terminado 0.8.3 py37_0 defaults testpath 0.4.4 py_0 defaults tk 8.6.8 ha441bb4_0 defaults toolz 0.10.0 py_0 defaults tornado 6.0.3 py37h1de35cc_3 defaults tqdm 4.42.1 py_0 defaults traitlets 4.3.3 py37_0 defaults ujson 1.35 py37h1de35cc_0 defaults unicodecsv 0.14.1 py37_0 defaults unixodbc 2.3.7 h1de35cc_0 defaults urllib3 1.25.8 py37_0 defaults watchdog 0.10.2 py37h1de35cc_0 defaults wcwidth 0.1.8 py_0 defaults webencodings 0.5.1 py37_1 defaults werkzeug 1.0.0 py_0 defaults wheel 0.34.2 py37_0 defaults widgetsnbextension 3.5.1 py37_0 defaults wrapt 1.11.2 py37h1de35cc_0 defaults wurlitzer 2.0.0 py37_0 defaults xlrd 1.2.0 py37_0 defaults xlsxwriter 1.2.7 py_0 defaults xlwings 0.17.1 py37_0 defaults xlwt 1.3.0 py37_0 defaults xmltodict 0.12.0 py_0 defaults xz 5.2.4 h1de35cc_4 defaults yaml 0.1.7 hc338f04_2 defaults yapf 0.28.0 py_0 defaults zeromq 4.3.1 h0a44026_3 defaults zict 1.0.0 py_0 defaults zipp 2.2.0 py_0 defaults zlib 1.2.11 h1de35cc_3 defaults zstd 1.3.7 h5bba6e5_0 defaults [Abaia:~] obrien% ```
MisterProtocol commented 4 years ago

I should mention I've ripped out and reinstalled Anaconda three times, every time deleting every involved dot file in my home directory, with no change in the behavior. If there are other files I should remove besides these dot files and the anaconda3 directory, please tell me.

ccordoba12 commented 4 years ago

Please run in Terminal.app:

conda install -f python.app

to see if that helps.

MisterProtocol commented 4 years ago

I did this, as you suggest. It had no effect, either on running Spyder from the Navigator, or running it from the shell.

Mike O’Brien

Sent while peripatetic.

On Mar 17, 2020, at 6:06 PM, Carlos Cordoba notifications@github.com wrote:

 Please run in Terminal.app:

conda install -f python.app to see if that helps.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

MisterProtocol commented 4 years ago

This is somewhat arcane, but… I see the “Illegal instruction” fault from the Python binary. I wonder if my machine could have something to do with it. It is an early 2009 Mac Pro cheesegrater with two 2.93 GHz 6-core Xeon processors. I believe the type number is 5670. Is it possible that the Python binary is using newer instructions that those Xeon processors don’t support? If so, this is a bug in the Python distribution, or in the compiler used to build it. What do you think?

Mike O'Brien

On Mar 17, 2020, at 6:15 PM, Mike O'Brien mikeobrien@spamcop.net wrote:

I did this, as you suggest. It had no effect, either on running Spyder from the Navigator, or running it from the shell.

Mike O’Brien

Sent while peripatetic.

On Mar 17, 2020, at 6:06 PM, Carlos Cordoba notifications@github.com wrote:



Please run in Terminal.app:

conda install -f python.app

to see if that helps.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

nathanvdlei commented 4 years ago

I think it might be caused by your pyzmq installation: pyzmq 18.1.1

Consider typing following commands in your Anaconda Prompt:

pip uninstall pyzmq pip install pyzmq --upgrade

Yielding:

Successfully uninstalled pyzmq-18.1.1 Successfully installed pyzmq-19.0.0

Hope it works

ccordoba12 commented 4 years ago

@nathanvdlei, very bad advice. You must never use pip to install packages in Anaconda, when they can be installed by conda.

So your command needs to be

conda install -f pyzmq
MisterProtocol commented 4 years ago

I tried "conda install -f pyzmq" as you suggest (did not do the "pip"), and, as I fully expected, it had no effect. Same error when running spyder from a Terminal window:

/Users/obrien/opt/anaconda3/bin/pythonw: line 3: 32278 Illegal instruction: 4 /Users/obrien/opt/anaconda3/python.app/Contents/MacOS/python "$@"

To me, this indicates that the python3.7 binary deep inside python.app has one or more instructions in it that my Xeon 3760 processors (2009 Mac Pro) don't possess.

In desperation, I tried replacing this binary (only) with the python3.7 from the python.org distribution, but of course that didn't work, because the Anaconda python3.7 binary has about 400,000 extra bytes of (presumably) pre-loaded modules such as spyder, jupiter-lab, etc. startup routines and (also presumably) lots of other extras.

I have been reminded that Anaconda, Inc. is a for-profit company and that the GitHub repository doesn't possess the source code to Anaconda's python.app. Therefore I cannot build it on my own machine, which would allow me to use a toolchain that would avoid this problem.

Unless somebody else fixes Anaconda's python.app, I'm going to have to abandon Anaconda and see if I can install Spyder directly from the Spyder web site, and Python directly from python.org.

This is just one reason why open source is a good thing.

jjhelmus commented 4 years ago

GitHub repository doesn't possess the source code to Anaconda's python.app.

This is not true and your tone is coming across as hostile which is not a good method when you are asking for free help. The recipe used to build python.app is available and open source.

MisterProtocol commented 4 years ago

Thank you! I apologize for my attitude. After some research I was able to clone the "aggregates" repository and rebuild python.app. This didn't help. I'm now wondering - does the python.app recipe rebuild the version of python3.7 stuffed into python.app, or does it grab it from elsewhere? The feedstock directory for python3.7 appears to be empty, so I can't rebuild it from there.

MisterProtocol commented 4 years ago

I've successfully installed Spyder from MacPorts. It asked me to install Kite. This happened on my 2017 laptop as well, where Kite installed and ran with no problems. On my Mac Pro, Kite crashed on startup. Reading the info on the Kite website I discover that Kite requires the AVX instruction set, which my Xeons don't have. At this point I'm going to assume that the Python binary(ies) in Anaconda are also using AVX, which would certainly explain the illegal instruction fault. I have no evidence that this is the case, but it seems likely. In that case Anaconda will not run on this machine. If anyone out there knows the AVX status of Anaconda's python binaries, I'd love to hear it.

jjhelmus commented 4 years ago

The macOS package provided by Anaconda are built using the -march=core2 and -msse3 compiler flags. This means that a machine with a least a Core 2 CPU is required. The AVX instruction set is not required but MMX, SSE, SSE2, SSE3 and SSSE3 instructions are.

MisterProtocol commented 4 years ago

Ah, thanks! The Xeon 5670 supports all of those, so that’s not the problem. Ah, well. I’m stumped, then.

Thanks again.

MisterProtocol commented 4 years ago

I tried creating a new test user on my machine, to see if there was something bogus in my software setup. The problem remains.

MisterProtocol commented 4 years ago

I did an Anaconda installation on a fresh install of Mojave on this machine, using a different hard drive, and had the same problem. Anaconda will not run on this hardware (Mac Pro 5,1). At this point I'm giving up. Thanks for the help.