Skip to content

On ArcGIS Pro 3.5, MGET installation instructions remove arcpy module #47

@jjrob

Description

@jjrob

Currently, Step 3 of the MGET 3.4.0 installation instructions say to issue this command:

micromamba install --channel conda-forge --yes mget3

But when you do that on a clone of the ArcGIS Pro 3.5 arcgispro-py3 conda environment, it will remove the arcpy module:

(arcgispro-py3-mget2) C:\Users\jjr8\AppData\Local\ESRI\conda\envs\arcgispro-py3-mget2>micromamba install --channel conda-forge mget3
conda-forge/noarch                                  21.2MB @  21.0MB/s  1.0s
conda-forge/win-64                                  29.0MB @  25.3MB/s  1.1s

Pinned packages:

  <List of pinned packages deleted from this GitHub issue for brevity>


Transaction

  Prefix: C:\Users\jjr8\AppData\Local\ESRI\conda\envs\arcgispro-py3-mget2

  Updating specs:

   - mget3


warning  libmamba Extracted package cache 'C:\Users\jjr8\AppData\Roaming\mamba\pkgs\python_abi-3.11-2_cp311' has invalid url
  Package                           Version  Build                  Channel           Size
--------------------------------------------------------------------------------------------
  Install:
--------------------------------------------------------------------------------------------

  + _openmp_mutex                       4.5  2_gnu                  conda-forge     Cached
  + asciitree                         0.3.3  py_2                   conda-forge     Cached
  + blosc                            1.21.6  h85f69ea_0             conda-forge       50kB
  + boto3                            1.39.5  pyhd8ed1ab_0           conda-forge     Cached
  + botocore                         1.39.5  pyge310_1234567_0      conda-forge     Cached
  + bzip2                             1.0.8  h2466b09_7             conda-forge     Cached
  + ca-certificates               2025.7.14  h4c7d964_0             conda-forge      156kB
  + copernicusmarine                  2.0.1  pyhd8ed1ab_0           conda-forge     Cached
  + deprecated                       1.2.18  pyhd8ed1ab_0           conda-forge     Cached
  + docutils                         0.21.2  pyhd8ed1ab_1           conda-forge     Cached
  + fasteners                          0.19  pyhd8ed1ab_1           conda-forge     Cached
  + freexl                            2.0.0  h8276f4a_0             conda-forge       77kB
  + geos                             3.13.0  h5a68840_0             conda-forge        2MB
  + geotiff                           1.7.4  h887f4e7_0             conda-forge      123kB
  + h5netcdf                          1.6.3  pyhd8ed1ab_0           conda-forge     Cached
  + hdf4                             4.2.15  h5557f11_7             conda-forge     Cached
  + jmespath                          1.0.1  pyhd8ed1ab_1           conda-forge     Cached
  + lcms2                              2.17  hbcf6048_0             conda-forge      511kB
  + lerc                              4.0.0  h6470a55_1             conda-forge      165kB
  + libarchive                        3.7.4  haf234dc_0             conda-forge      958kB
  + libcurl                          8.14.1  h88aaa65_0             conda-forge      368kB
  + libexpat                          2.7.0  he0c23c2_0             conda-forge      141kB
  + libgcc                           15.1.0  h1383e82_3             conda-forge     Cached
  + libgdal-core                      3.9.2  h042995d_7             conda-forge        8MB
  + libgomp                          15.1.0  h1383e82_3             conda-forge     Cached
  + libiconv                           1.18  h135ad9c_1             conda-forge     Cached
  + libjpeg-turbo                     3.1.0  h2466b09_0             conda-forge      838kB
  + libkml                            1.3.0  h538826c_1021          conda-forge        2MB
  + librttopo                         1.1.0  hd4c2148_17            conda-forge      405kB
  + libspatialite                     5.1.0  h939089a_11            conda-forge        8MB
  + libsqlite                        3.50.2  hf5d6505_2             conda-forge     Cached
  + libssh2                          1.11.1  h9aa295b_0             conda-forge      293kB
  + libwebp-base                      1.6.0  h4d5522a_0             conda-forge      279kB
  + libwinpthread     12.0.0.r4.gg4f2fc60ca  h57928b3_9             conda-forge     Cached
  + libxcb                           1.17.0  h0e4246c_0             conda-forge     Cached
  + libzlib                           1.3.1  h2466b09_2             conda-forge     Cached
  + lzo                                2.10  hcfcfb64_1001          conda-forge      143kB
  + mget3                             3.4.0  py311h3e6a449_0        conda-forge     Cached
  + minizip                           4.0.6  hb638d1e_0             conda-forge       85kB
  + numcodecs                        0.15.1  py311hcf9f919_0        conda-forge     Cached
  + openjpeg                          2.5.3  h4d64b90_0             conda-forge      240kB
  + pcre2                             10.44  h99c9b8b_2             conda-forge      817kB
  + proj                              9.5.1  h4f671f6_0             conda-forge        3MB
  + pthread-stubs                       0.4  h0e40799_1002          conda-forge     Cached
  + pyhdf                            0.11.6  py311hc008540_0        conda-forge     Cached
  + pystac                           1.13.0  pyhd8ed1ab_0           conda-forge     Cached
  + python-tzdata                    2025.2  pyhd8ed1ab_0           conda-forge     Cached
  + python_abi                         3.11  2_cp311                conda-forge     Cached
  + s3transfer                       0.13.0  pyhd8ed1ab_0           conda-forge     Cached
  + scikit-fmm                    2025.6.23  py311h11fd7f3_0        conda-forge     Cached
  + semver                            3.0.4  pyhd8ed1ab_0           conda-forge     Cached
  + tk                               8.6.13  h2c6b04d_2             conda-forge        3MB
  + tzlocal                             5.3  py311h1ea47a8_0        conda-forge     Cached
  + ucrt                       10.0.22621.0  h57928b3_1             conda-forge     Cached
  + uriparser                         0.9.8  h5a68840_0             conda-forge       49kB
  + vc14_runtime                14.44.35208  h818238b_26            conda-forge     Cached
  + xerces-c                          3.2.5  he0c23c2_2             conda-forge        4MB
  + xorg-libxau                      1.0.12  h0e40799_0             conda-forge     Cached
  + xorg-libxdmcp                     1.1.5  h0e40799_0             conda-forge     Cached
  + zarr                             2.18.7  pyhd8ed1ab_0           conda-forge     Cached

  Remove:
--------------------------------------------------------------------------------------------

  - arcpy                               3.5  py311_arcgispro_57294  esri               6kB
  - arcpy-base                          3.5  py311_57294            esri               5MB
  - jpeg                                 9e  0                      esri             278kB

  Change:
--------------------------------------------------------------------------------------------

  - libtiff                           4.7.0  1                      esri             926kB
  + libtiff                           4.7.0  hfc51747_1             conda-forge      979kB
  - pillow                           11.1.0  py311_0                esri             956kB
  + pillow                           11.1.0  py311h43e43bb_0        conda-forge       42MB
  - zlib                              1.3.1  1                      esri             115kB
  + zlib                              1.3.1  h2466b09_2             conda-forge     Cached

  Upgrade:
--------------------------------------------------------------------------------------------

  - cryptography                     43.0.1  py311_0                esri               1MB
  + cryptography                     45.0.5  py311h5e0b3ae_0        conda-forge        1MB
  - libdeflate                         1.20  1                      esri              73kB
  + libdeflate                         1.22  h2466b09_0             conda-forge      156kB
  - libpng                           1.6.43  1                      esri             346kB
  + libpng                           1.6.50  h95bef1e_0             conda-forge      352kB
  - openssl                          3.0.16  0                      esri               3MB
  + openssl                           3.5.1  h725018a_0             conda-forge        9MB
  - vs2015_runtime              14.38.33130  0                      esri               1MB
  + vs2015_runtime              14.44.35208  h38c0c73_26            conda-forge     Cached

  Downgrade:
--------------------------------------------------------------------------------------------

  - gdal                             3.10.2  arcgispro_py311_17888  esri               1MB
  + gdal                              3.9.2  py311h689aae6_7        conda-forge        2MB

  Summary:

  Install: 60 packages
  Remove: 3 packages
  Change: 3 packages
  Upgrade: 5 packages
  Downgrade: 1 packages

  Total download: 91MB

--------------------------------------------------------------------------------------------


Confirm changes: [Y/n]

That's obviously a bad thing. My best guess is that this occurs due to a difference in the choice of MSVC C/C++ compiler and runtime libraries chosen by Esri for Pro 3.5's Python environment vs. those chosen by conda-forge for packages released there, including MGET. While MGET itself currently contains little C/C++ code that would be affected by this, it relies on a number of other Python packages that have substantial amounts of C/C++. Alternatively, rather than being the MSVC compilers and runtimes, it might be a common library such as jpeg or zlib that is the problem. In any case, it appears that when micromamba tries to resolve MGET's dependencies, it determines that the only way get them installed is to install something that arcpy is incompatible with, and therefore arcpy will no longer work so micromamba wants to remove it as well.

We can fix it by adding the esri channel to the install command. When we do that, micromamba appears to switch out the arcpy that comes with Pro 3.5 for another one available on the esri channel:

(arcgispro-py3-mget) C:\Users\jjr8\AppData\Local\ESRI\conda\envs\arcgispro-py3-mget>micromamba install --channel esri --channel conda-forge mget3
conda-forge/noarch                                  21.2MB @  28.2MB/s  0.7s
conda-forge/win-64                                  29.0MB @  35.0MB/s  0.8s

Pinned packages:

  <List of pinned packages deleted from this GitHub issue for brevity>


Transaction

  Prefix: C:\Users\jjr8\AppData\Local\ESRI\conda\envs\arcgispro-py3-mget

  Updating specs:

   - mget3


warning  libmamba Extracted package cache 'C:\Users\jjr8\AppData\Roaming\mamba\pkgs\python_abi-3.11-2_cp311' has invalid url
  Package                  Version  Build                  Channel           Size
-----------------------------------------------------------------------------------
  Install:
-----------------------------------------------------------------------------------

  + asciitree                0.3.3  py_2                   conda-forge     Cached
  + boto3                   1.39.5  pyhd8ed1ab_0           conda-forge       84kB
  + botocore                1.39.5  pyge310_1234567_0      conda-forge        8MB
  + copernicusmarine         2.0.1  pyhd8ed1ab_0           conda-forge     Cached
  + deprecated              1.2.18  pyhd8ed1ab_0           conda-forge     Cached
  + docutils                0.21.2  pyhd8ed1ab_1           conda-forge     Cached
  + fasteners                 0.19  pyhd8ed1ab_1           conda-forge     Cached
  + h5netcdf                 1.6.3  pyhd8ed1ab_0           conda-forge     Cached
  + hdf4                    4.2.15  h5557f11_7             conda-forge     Cached
  + jmespath                 1.0.1  pyhd8ed1ab_1           conda-forge     Cached
  + libjpeg-turbo            3.0.3  0                      esri            Cached
  + libzlib                  1.3.1  h2466b09_2             conda-forge     Cached
  + mget3                    3.4.0  py311h3e6a449_0        conda-forge     Cached
  + numcodecs               0.15.1  py311hcf9f919_0        conda-forge     Cached
  + pyhdf                   0.11.6  py311hc008540_0        conda-forge     Cached
  + pystac                  1.13.0  pyhd8ed1ab_0           conda-forge     Cached
  + python-tzdata           2025.2  pyhd8ed1ab_0           conda-forge     Cached
  + python_abi                3.11  2_cp311                esri            Cached
  + s3transfer              0.13.0  pyhd8ed1ab_0           conda-forge     Cached
  + scikit-fmm           2025.6.23  py311h11fd7f3_0        conda-forge     Cached
  + semver                   3.0.4  pyhd8ed1ab_0           conda-forge     Cached
  + tzlocal                    5.3  py311h1ea47a8_0        conda-forge     Cached
  + ucrt              10.0.22621.0  h57928b3_1             conda-forge     Cached
  + vc14_runtime       14.44.35208  h818238b_26            conda-forge     Cached
  + zarr                    2.18.7  pyhd8ed1ab_0           conda-forge     Cached

  Change:
-----------------------------------------------------------------------------------

  - arcpy                      3.5  py311_arcgispro_57294  esri               6kB
  + arcpy                      3.5  py311_arcgispro_57257  esri              74kB
  - arcpy-base                 3.5  py311_57294            esri               5MB
  + arcpy-base                 3.5  py311_57257            esri               5MB
  - zlib                     1.3.1  1                      esri             115kB
  + zlib                     1.3.1  h2466b09_2             conda-forge     Cached

  Upgrade:
-----------------------------------------------------------------------------------

  - vs2015_runtime     14.38.33130  0                      esri               1MB
  + vs2015_runtime     14.44.35208  h38c0c73_26            conda-forge     Cached

  Downgrade:
-----------------------------------------------------------------------------------

  - gdal                    3.10.2  arcgispro_py311_17888  esri               1MB
  + gdal                     3.9.2  arcgispro_py311_17882  esri               1MB

  Summary:

  Install: 25 packages
  Change: 3 packages
  Upgrade: 1 packages
  Downgrade: 1 packages

  Total download: 14MB

-----------------------------------------------------------------------------------


Confirm changes: [Y/n]

I did that and MGET's automated tests related to ArcGIS all passed, except #46. That looks like a behavior change in ArcGIS Pro 3.5, but could conceivably be a bug present in the py311_arcgispro_57257 build of arcpy that micromamba used as a replacement for the py311_arcgispro_57294 build that came with Pro 3.5. I will investigate that as a separate issue. For this overall installation issue, we should update the installation instructions to this command:

micromamba install --channel esri --channel conda-forge mget3

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdocumentationImprovements or additions to documentation

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions