ContinuumIO / anaconda-issues

Anaconda issue tracking
646 stars 220 forks source link

python.app-3 breaks pythonw on MacOS #12188

Open newville opened 3 years ago

newville commented 3 years ago

Actual Behavior

installing with Anaconda3-2020.11-MacOSX-x86_64.pkg on MacOS installs a version of python.app that works fine. Doing conda update --all installs python.app-3 (version 3-py38h9ed2024_0).

After this is installed, running pythonw fails with

/Users/Newville/opt/anaconda3/bin/pythonw: line 3: /Users/Newville/opt/anaconda3/python.app/Contents/MacOS/python: No such file or directory

$HOME/opt/anaconda3/python.app should have Contents/MacOS/python.

but after the conda update --all, $HOME/opt/anaconda3/python.app/Contents has only a well-populated lib directory. There is $HOME/opt/anaconda3/python.app/pythonapp/Contents/MacOS/python, but that is not what pythonw points too.

Expected Behavior

pythonw to start a version of Python that can draw to the MacOS screen.

Steps to Reproduce

conda update --all

Anaconda or Miniconda version:

Anaconda3-2020.11-MacOSX-x86_64.pkg

conda 4.9.2

Operating System:

MacOS 11.0.1

conda info
     active environment : None
       user config file : /Users/Newville/.condarc
 populated config files : /Users/Newville/.condarc
          conda version : 4.9.2
    conda-build version : 3.20.5
         python version : 3.8.5.final.0
       virtual packages : __osx=10.16=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /Users/Newville/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
                          https://conda.anaconda.org/gsecars/osx-64
                          https://conda.anaconda.org/gsecars/noarch
                          https://conda.anaconda.org/conda-forge/osx-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /Users/Newville/opt/anaconda3/pkgs
                          /Users/Newville/.conda/pkgs
       envs directories : /Users/Newville/opt/anaconda3/envs
                          /Users/Newville/.conda/envs
               platform : osx-64
             user-agent : conda/4.9.2 requests/2.25.0 CPython/3.8.5 Darwin/20.1.0 OSX/10.16
                UID:GID : 501:20
             netrc file : /Users/Newville/.netrc
           offline mode : False
conda list --show-channel-urls

# packages in environment at /Users/Newville/opt/anaconda3:
#
# Name                    Version                   Build  Channel
_anaconda_depends         2020.07                  py38_0    defaults
_ipyw_jlab_nb_ext_conf    0.1.0                    py38_0    defaults
alabaster                 0.7.12                     py_0    defaults
anaconda                  custom                   py38_1    defaults
anaconda-client           1.7.2                    py38_0    defaults
anaconda-navigator        1.10.0                   py38_0    defaults
anaconda-project          0.8.4                      py_0    defaults
applaunchservices         0.2.1                      py_0    defaults
appnope                   0.1.2           py38hecd8cb5_1001    defaults
appscript                 1.1.1            py38haf1e3a3_0    defaults
argh                      0.26.2                   py38_0    defaults
argon2-cffi               20.1.0           py38haf1e3a3_1    defaults
asn1crypto                1.4.0                      py_0    defaults
astroid                   2.4.2                    py38_0    defaults
astropy                   4.2              py38h9ed2024_0    defaults
async_generator           1.10                       py_0    defaults
atomicwrites              1.4.0                      py_0    defaults
attrs                     20.3.0             pyhd3eb1b0_0    defaults
autopep8                  1.5.4                      py_0    defaults
babel                     2.9.0              pyhd3eb1b0_0    defaults
backcall                  0.2.0                      py_0    defaults
backports                 1.0                pyhd3eb1b0_2    defaults
backports.functools_lru_cache 1.6.1              pyhd3eb1b0_0    defaults
backports.shutil_get_terminal_size 1.0.0                    py38_2    defaults
backports.tempfile        1.0                        py_1    defaults
backports.weakref         1.0.post1                  py_1    defaults
beautifulsoup4            4.9.3              pyhb0f4dca_0    defaults
bitarray                  1.6.1            py38h9ed2024_0    defaults
bkcharts                  0.2                      py38_0    defaults
blas                      1.0                         mkl    defaults
bleach                    3.2.1                      py_0    defaults
blosc                     1.20.1               hab81aa3_0    defaults
bokeh                     2.2.3                    py38_0    defaults
boto                      2.49.0                   py38_0    defaults
bottleneck                1.3.2            py38hf1fa96c_1    defaults
brotlipy                  0.7.0           py38h9ed2024_1003    defaults
bzip2                     1.0.8                h1de35cc_0    defaults
ca-certificates           2020.10.14                    0    defaults
certifi                   2020.11.8        py38hecd8cb5_0    defaults
cffi                      1.14.4           py38h2125817_0    defaults
chardet                   3.0.4           py38hecd8cb5_1003    defaults
click                     7.1.2                      py_0    defaults
cloudpickle               1.6.0                      py_0    defaults
clyent                    1.2.2                    py38_1    defaults
colorama                  0.4.4                      py_0    defaults
conda                     4.9.2            py38hecd8cb5_0    defaults
conda-build               3.20.5                   py38_1    defaults
conda-env                 2.6.0                         1    defaults
conda-package-handling    1.7.2            py38h22f3db7_0    defaults
conda-verify              3.4.2                      py_1    defaults
contextlib2               0.6.0.post1                py_0    defaults
cryptography              3.2.1            py38hbcfaee0_1    defaults
curl                      7.71.1               hb0a8c7a_1    defaults
cycler                    0.10.0                   py38_0    defaults
cython                    0.29.21          py38h23ab428_0    defaults
cytoolz                   0.11.0           py38haf1e3a3_0    defaults
dask                      2.30.0                     py_0    defaults
dask-core                 2.30.0                     py_0    defaults
dbus                      1.13.18              h18a8e69_0    defaults
decorator                 4.4.2                      py_0    defaults
defusedxml                0.6.0                      py_0    defaults
diff-match-patch          20200713                   py_0    defaults
distributed               2.30.1           py38hecd8cb5_0    defaults
docutils                  0.16                     py38_1    defaults
entrypoints               0.3                      py38_0    defaults
et_xmlfile                1.0.1                   py_1001    defaults
expat                     2.2.10               hb1e8313_2    defaults
fastcache                 1.1.0            py38h1de35cc_0    defaults
filelock                  3.0.12                     py_0    defaults
flake8                    3.8.4                      py_0    defaults
flask                     1.1.2                      py_0    defaults
freetype                  2.10.4               ha233b18_0    defaults
fsspec                    0.8.3                      py_0    defaults
future                    0.18.2                   py38_1    defaults
get_terminal_size         1.0.0                h7520d66_0    defaults
gettext                   0.19.8.1             hb0f4f8b_2    defaults
gevent                    20.9.0           py38haf1e3a3_0    defaults
glib                      2.66.1               h9bbe63b_0    defaults
glob2                     0.7                        py_0    defaults
gmp                       6.1.2                hb37e062_1    defaults
gmpy2                     2.0.8            py38h6ef4df4_3    defaults
greenlet                  0.4.17           py38haf1e3a3_0    defaults
h5py                      2.10.0           py38h3134771_0    defaults
hdf5                      1.10.4               hfa1e0ec_0    defaults
heapdict                  1.0.1                      py_0    defaults
html5lib                  1.1                        py_0    defaults
icu                       58.2                 h0a44026_3    defaults
idna                      2.10                       py_0    defaults
imageio                   2.9.0                      py_0    defaults
imagesize                 1.2.0                      py_0    defaults
importlib-metadata        2.0.0                      py_1    defaults
importlib_metadata        2.0.0                         1    defaults
iniconfig                 1.1.1                      py_0    defaults
intel-openmp              2019.4                      233    defaults
intervaltree              3.1.0                      py_0    defaults
ipykernel                 5.3.4            py38h5ca1d4c_0    defaults
ipython                   7.19.0           py38h01d92e1_0    defaults
ipython_genutils          0.2.0              pyhd3eb1b0_1    defaults
ipywidgets                7.5.1                      py_1    defaults
isort                     5.6.4                      py_0    defaults
itsdangerous              1.1.0                      py_0    defaults
jbig                      2.1                  h4d881f8_0    defaults
jdcal                     1.4.1                      py_0    defaults
jedi                      0.17.1                   py38_0    defaults
jinja2                    2.11.2                     py_0    defaults
joblib                    0.17.0                     py_0    defaults
jpeg                      9b                   he5867d9_2    defaults
json5                     0.9.5                      py_0    defaults
jsonschema                3.2.0                      py_2    defaults
jupyter                   1.0.0                    py38_7    defaults
jupyter_client            6.1.7                      py_0    defaults
jupyter_console           6.2.0                      py_0    defaults
jupyter_core              4.7.0            py38hecd8cb5_0    defaults
jupyterlab                2.2.6                      py_0    defaults
jupyterlab_pygments       0.1.2                      py_0    defaults
jupyterlab_server         1.2.0                      py_0    defaults
keyring                   21.4.0                   py38_1    defaults
kiwisolver                1.3.0            py38h23ab428_0    defaults
krb5                      1.18.2               h75d18d8_0    defaults
lazy-object-proxy         1.4.3            py38h1de35cc_0    defaults
lcms2                     2.11                 h92f6f08_0    defaults
libarchive                3.4.2                haa3ed63_0    defaults
libcurl                   7.71.1               h8a08a2b_1    defaults
libcxx                    10.0.0                        1    defaults
libedit                   3.1.20191231         h1de35cc_1    defaults
libffi                    3.3                  hb1e8313_2    defaults
libgfortran               3.0.1                h93005f0_2    defaults
libiconv                  1.16                 h1de35cc_0    defaults
liblief                   0.10.1               h0a44026_0    defaults
libllvm10                 10.0.1               h76017ad_5    defaults
libllvm9                  9.0.1                h21ff451_1    defaults
libpng                    1.6.37               ha441bb4_0    defaults
libsodium                 1.0.18               h1de35cc_0    defaults
libspatialindex           1.9.3                h0a44026_0    defaults
libssh2                   1.9.0                ha12b0ac_1    defaults
libtiff                   4.1.0                hcb84e12_1    defaults
libxml2                   2.9.10               h7cdb67c_3    defaults
libxslt                   1.1.34               h83b36ba_0    defaults
llvm-openmp               10.0.0               h28b9765_0    defaults
llvmlite                  0.34.0           py38h739e7dc_4    defaults
locket                    0.2.0                    py38_1    defaults
lxml                      4.6.2            py38h26b266a_0    defaults
lz4-c                     1.9.2                h79c402e_3    defaults
lzo                       2.10                 haf1e3a3_2    defaults
markupsafe                1.1.1            py38h1de35cc_1    defaults
matplotlib                3.3.2                         0    defaults
matplotlib-base           3.3.2            py38h181983e_0    defaults
mccabe                    0.6.1                    py38_1    defaults
mistune                   0.8.4           py38h1de35cc_1001    defaults
mkl                       2019.4                      233    defaults
mkl-service               2.3.0            py38h9ed2024_0    defaults
mkl_fft                   1.2.0            py38hc64f4ea_0    defaults
mkl_random                1.1.1            py38h959d312_0    defaults
mock                      4.0.2                      py_0    defaults
more-itertools            8.6.0              pyhd3eb1b0_0    defaults
mpc                       1.1.0                h6ef4df4_1    defaults
mpfr                      4.0.2                h9066e36_1    defaults
mpmath                    1.1.0                    py38_0    defaults
msgpack-python            1.0.0            py38h04f5b5a_1    defaults
multipledispatch          0.6.0                    py38_0    defaults
navigator-updater         0.2.1                    py38_0    defaults
nbclient                  0.5.1                      py_0    defaults
nbconvert                 6.0.7                    py38_0    defaults
nbformat                  5.0.8                      py_0    defaults
ncurses                   6.2                  h0a44026_1    defaults
nest-asyncio              1.4.2              pyhd3eb1b0_0    defaults
networkx                  2.5                        py_0    defaults
nltk                      3.5                        py_0    defaults
nose                      1.3.7           pyhd3eb1b0_1006    defaults
notebook                  6.1.4                    py38_0    defaults
numba                     0.51.2           py38h6440ff4_1    defaults
numexpr                   2.7.1            py38hce01a72_0    defaults
numpy                     1.19.2           py38h456fd55_0    defaults
numpy-base                1.19.2           py38hcfb5961_0    defaults
numpydoc                  1.1.0              pyhd3eb1b0_1    defaults
olefile                   0.46                       py_0    defaults
openpyxl                  3.0.5                      py_0    defaults
openssl                   1.1.1h               haf1e3a3_0    defaults
packaging                 20.7               pyhd3eb1b0_0    defaults
pandas                    1.1.3            py38hb1e8313_0    defaults
pandoc                    2.11                 h0dc7051_0    defaults
pandocfilters             1.4.3            py38hecd8cb5_1    defaults
parso                     0.7.0                      py_0    defaults
partd                     1.1.0                      py_0    defaults
path                      15.0.0                   py38_0    defaults
path.py                   12.5.0                        0    defaults
pathlib2                  2.3.5            py38hecd8cb5_2    defaults
pathtools                 0.1.2                      py_1    defaults
patsy                     0.5.1                    py38_0    defaults
pcre                      8.44                 hb1e8313_0    defaults
pep8                      1.7.1                    py38_0    defaults
pexpect                   4.8.0              pyhd3eb1b0_3    defaults
pickleshare               0.7.5           pyhd3eb1b0_1003    defaults
pillow                    8.0.1            py38h5270095_0    defaults
pip                       20.3             py38hecd8cb5_0    defaults
pkginfo                   1.6.1            py38hecd8cb5_0    defaults
pluggy                    0.13.1                   py38_0    defaults
ply                       3.11                     py38_0    defaults
prometheus_client         0.9.0              pyhd3eb1b0_0    defaults
prompt-toolkit            3.0.8                      py_0    defaults
prompt_toolkit            3.0.8                         0    defaults
psutil                    5.7.2            py38haf1e3a3_0    defaults
ptyprocess                0.6.0              pyhd3eb1b0_2    defaults
py                        1.9.0                      py_0    defaults
py-lief                   0.10.1           py38haf313ee_0    defaults
pycodestyle               2.6.0                      py_0    defaults
pycosat                   0.6.3            py38h1de35cc_1    defaults
pycparser                 2.20                       py_2    defaults
pycurl                    7.43.0.6         py38hddc9c9b_0    defaults
pydocstyle                5.1.1                      py_0    defaults
pyerfa                    1.7.1.1          py38h9ed2024_1    defaults
pyflakes                  2.2.0                      py_0    defaults
pygments                  2.7.2              pyhd3eb1b0_0    defaults
pylint                    2.6.0                    py38_0    defaults
pyodbc                    4.0.30           py38h0a44026_0    defaults
pyopenssl                 20.0.0             pyhd3eb1b0_1    defaults
pyparsing                 2.4.7                      py_0    defaults
pyqt                      5.9.2            py38h655552a_2    defaults
pyrsistent                0.17.3           py38haf1e3a3_0    defaults
pysocks                   1.7.1                    py38_1    defaults
pytables                  3.6.1            py38h4727e94_0    defaults
pytest                    6.1.2            py38hecd8cb5_0    defaults
python                    3.8.5                h26836e1_1    defaults
python-dateutil           2.8.1                      py_0    defaults
python-jsonrpc-server     0.4.0                      py_0    defaults
python-language-server    0.35.1                     py_0    defaults
python-libarchive-c       2.9                        py_0    defaults
python.app                3                py38h9ed2024_0    defaults
pytz                      2020.4             pyhd3eb1b0_0    defaults
pywavelets                1.1.1            py38haf1e3a3_2    defaults
pyyaml                    5.3.1            py38haf1e3a3_1    defaults
pyzmq                     20.0.0           py38h23ab428_1    defaults
qdarkstyle                2.8.1                      py_0    defaults
qt                        5.9.7                h468cd18_1    defaults
qtawesome                 1.0.1                      py_0    defaults
qtconsole                 4.7.7                      py_0    defaults
qtpy                      1.9.0                      py_0    defaults
readline                  8.0                  h1de35cc_0    defaults
regex                     2020.11.13       py38h9ed2024_0    defaults
requests                  2.25.0             pyhd3eb1b0_0    defaults
ripgrep                   12.1.1                        0    defaults
rope                      0.18.0                     py_0    defaults
rtree                     0.9.4                    py38_1    defaults
ruamel_yaml               0.15.87          py38haf1e3a3_1    defaults
scikit-image              0.17.2           py38h81aa140_0    defaults
scikit-learn              0.23.2           py38h959d312_0    defaults
scipy                     1.5.2            py38h2515648_0    defaults
seaborn                   0.11.0                     py_0    defaults
send2trash                1.5.0                    py38_0    defaults
setuptools                50.3.2           py38hecd8cb5_2    defaults
simplegeneric             0.8.1                    py38_2    defaults
singledispatch            3.4.0.3                 py_1001    defaults
sip                       4.19.8           py38h0a44026_0    defaults
six                       1.15.0           py38hecd8cb5_0    defaults
snappy                    1.1.8                hb1e8313_0    defaults
snowballstemmer           2.0.0                      py_0    defaults
sortedcollections         1.2.1                      py_0    defaults
sortedcontainers          2.3.0              pyhd3eb1b0_0    defaults
soupsieve                 2.0.1                      py_0    defaults
sphinx                    3.2.1                      py_0    defaults
sphinxcontrib             1.0                      py38_1    defaults
sphinxcontrib-applehelp   1.0.2                      py_0    defaults
sphinxcontrib-devhelp     1.0.2                      py_0    defaults
sphinxcontrib-htmlhelp    1.0.3                      py_0    defaults
sphinxcontrib-jsmath      1.0.1                      py_0    defaults
sphinxcontrib-qthelp      1.0.3                      py_0    defaults
sphinxcontrib-serializinghtml 1.1.4                      py_0    defaults
sphinxcontrib-websupport  1.2.4                      py_0    defaults
spyder                    4.1.5                    py38_0    defaults
spyder-kernels            1.9.4                    py38_0    defaults
sqlalchemy                1.3.20           py38h9ed2024_0    defaults
sqlite                    3.33.0               hffcf06c_0    defaults
statsmodels               0.12.1           py38h9ed2024_0    defaults
sympy                     1.6.2            py38hecd8cb5_1    defaults
tbb                       2020.3               h879752b_0    defaults
tblib                     1.7.0                      py_0    defaults
terminado                 0.9.1                    py38_0    defaults
testpath                  0.4.4                      py_0    defaults
threadpoolctl             2.1.0              pyh5ca1d4c_0    defaults
tifffile                  2020.10.1        py38h0cf3a3e_2    defaults
tk                        8.6.10               hb0a8c7a_0    defaults
toml                      0.10.1                     py_0    defaults
toolz                     0.11.1                     py_0    defaults
tornado                   6.1              py38h9ed2024_0    defaults
tqdm                      4.54.0             pyhd3eb1b0_0    defaults
traitlets                 5.0.5                      py_0    defaults
typing_extensions         3.7.4.3                    py_0    defaults
ujson                     4.0.1            py38hb1e8313_0    defaults
unicodecsv                0.14.1                   py38_0    defaults
unixodbc                  2.3.9                haf1e3a3_0    defaults
urllib3                   1.25.11                    py_0    defaults
watchdog                  0.10.4           py38h9ed2024_0    defaults
wcwidth                   0.2.5                      py_0    defaults
webencodings              0.5.1                    py38_1    defaults
werkzeug                  1.0.1                      py_0    defaults
wheel                     0.36.0             pyhd3eb1b0_0    defaults
widgetsnbextension        3.5.1                    py38_0    defaults
wrapt                     1.11.2           py38h1de35cc_0    defaults
wurlitzer                 2.0.1                    py38_0    defaults
xlrd                      1.2.0                      py_0    defaults
xlsxwriter                1.3.7                      py_0    defaults
xlwings                   0.21.4           py38hecd8cb5_0    defaults
xlwt                      1.3.0                    py38_0    defaults
xmltodict                 0.12.0                     py_0    defaults
xz                        5.2.5                h1de35cc_0    defaults
yaml                      0.2.5                haf1e3a3_0    defaults
yapf                      0.30.0                     py_0    defaults
zeromq                    4.3.3                hb1e8313_3    defaults
zict                      2.0.0                      py_0    defaults
zipp                      3.4.0              pyhd3eb1b0_0    defaults
zlib                      1.2.11               h1de35cc_3    defaults
zope                      1.0                      py38_1    defaults
zope.event                4.5.0                    py38_0    defaults
zope.interface            5.2.0            py38h9ed2024_0    defaults
zstd                      1.4.5                h41d2c2f_0    defaults
briantoby commented 3 years ago

The issue here is that files are being put in the wrong place. Files that should go in <condahome>/python.app/Contents are being placed in <condahome>/python.app/pythonapp/Contents. Manually moving them fixes the problem. This is documented in more detail here: https://groups.google.com/a/continuum.io/d/msgid/anaconda/54DE71D3-8800-46FA-A363-DAFD6BA4E2D7%40anl.gov

newville commented 3 years ago

@briantoby Yes (And Happy New Year Brian!), a fix to the python.app package seems like it should not be too difficult. I hope it gets fixed soon, but it's hard for me to tell if anyone is working on this. I actually don't know where a patch for this could be submitted.

I think this Github Issues site is their preferred way to raise such issues (As "Support for Anaconda Individual Edition" leads to here), but I guess they've been very busy.

newville commented 3 years ago

This is still happening for me. Any progress? FWIW, the version of python.app from conda-forge does work.