Select to view content in your preferred language

Execute Data Load Failing

2198
11
Jump to solution
10-20-2023 11:57 AM
SesquipedalianUltracrepidarian
Emerging Contributor

Hello, I'm trying to use the Execute Data Load tool to migrate data into the utility network but every I run the tool I get the same error regardless of the reference workbook I use: 

import pyarrow.lib as _lib
ImportError: DLL load failed while importing lib: The specified procedure could not be found.

As far as I can tell the the pyarrow package is installed and this problem happened on a completely different machine with a fresh ArcPro install.

Any help would be appreciated,

Thanks

0 Kudos
1 Solution

Accepted Solutions
PingYin1
Occasional Contributor

It seems a bug that the installation of dltsolutions will update pyarrow and make it not work. Since pyarrow is not directly used by dltsolutions and all dependencies (e.g., pandas) in the original env seem to be meet the requirements, so we can only install dltsolutions without updating its dependencies. This idea has been approved working in ArcGIS Pro 3.1.3. Here are steps:

1. Make a fresh clone of the original env using Package Manager and set it as the Active env. If you have installed dltsolutions, you cannot remove it using Package Manager. It would be easier to just make a new clone.

2. Close ArcGIS Pro and open Python Command Prompt window from Windows start menu. Make sure that the current path points to the new env you just made.

3. Install the latest version of dltsolutions (3.1.3) without updating the dependencies using the following command: 

conda install -c esri --no-deps dltsolutions

4. After the installation, open ArcGIS Pro and you should be able to see the Data Loading Tools under the Toolboxes. When you run Execute Data Load tool, the pyarrow loading error should be gone.

View solution in original post

11 Replies
TedHoward2
Esri Contributor

Seems like it could be a problem with your environment/clone. What Pro version are you on? What is the pyarrow version shown in package manager?

0 Kudos
SesquipedalianUltracrepidarian
Emerging Contributor

Currently on 3.1.3 for Pro and the pyarrow version is 11.0.0 

0 Kudos
TedHoward2
Esri Contributor

I'm unable to reproduce with a fresh install of Pro 3.1.3. Your pyarrow version is correct. Maybe an issue with pandas since that's what imports pyarrow. If problems persist please contact tech support to get a case opened.

0 Kudos
dajjg4mh0
New Contributor

i have the same problem. i have investigated it a bit further. in the default python env (arcgispro-py3) it works ok, but in the clone i created for UN it does not.

C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3>python.exe
Python 3.9.16 [MSC v.1931 64 bit (AMD64)] :: Anaconda, Inc. on win32

Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated.  Libraries may fail to load.  To activate this environment
please see https://conda.io/activation

Type "help", "copyright", "credits" or "license" for more information.
>>> import pyarrow
>>> 

 

C:\Users\pjoyce\AppData\Local\ESRI\conda\envs\arcgispro-py3-un>python.exe
Python 3.9.18 [MSC v.1931 64 bit (AMD64)] :: Anaconda, Inc. on win32

Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated.  Libraries may fail to load.  To activate this environment
please see https://conda.io/activation

Type "help", "copyright", "credits" or "license" for more information.
>>> import pyarrow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\pjoyce\AppData\Local\ESRI\conda\envs\arcgispro-py3-un\lib\site-packages\pyarrow\__init__.py", line 65, in <module>
    import pyarrow.lib as _lib
ImportError: DLL load failed while importing lib: The specified procedure could not be found.
>>>

 

i have tried updating pyarrow, but it will not update (it is 11.0, and 12.0 is available)

it cannot be uninstalled in the clone.

 

i just created a fresh clone of the default env, and it does work in that. i will investigate further

dajjg4mh0
New Contributor

once i install dltsolutions into the clone, the "import pyarrow" no longer works. version i have:

  • ArcGIS Pro 3.1.3
  • ElectricUtilityNetworkFoundation v2.2
  • dltsolutions 3.1.3
0 Kudos
SesquipedalianUltracrepidarian
Emerging Contributor

At least I'm not the only one, interesting that it works in a fresh clone and only seems to break once dltsolutions is added, I've tried versions 3.1.2 and 3.1.1 for dltsolutions as well as 3.1.3 on fresh clones and they all seem to have the same error that's generated

0 Kudos
PingYin1
Occasional Contributor

It seems a bug that the installation of dltsolutions will update pyarrow and make it not work. Since pyarrow is not directly used by dltsolutions and all dependencies (e.g., pandas) in the original env seem to be meet the requirements, so we can only install dltsolutions without updating its dependencies. This idea has been approved working in ArcGIS Pro 3.1.3. Here are steps:

1. Make a fresh clone of the original env using Package Manager and set it as the Active env. If you have installed dltsolutions, you cannot remove it using Package Manager. It would be easier to just make a new clone.

2. Close ArcGIS Pro and open Python Command Prompt window from Windows start menu. Make sure that the current path points to the new env you just made.

3. Install the latest version of dltsolutions (3.1.3) without updating the dependencies using the following command: 

conda install -c esri --no-deps dltsolutions

4. After the installation, open ArcGIS Pro and you should be able to see the Data Loading Tools under the Toolboxes. When you run Execute Data Load tool, the pyarrow loading error should be gone.

BrianClee
Esri Contributor

This issue was because of the newer pyarrow versions we uploaded to esri for the 3.2 Pro release, we have since pulled the pyarrow 11 and arrow-cpp 11 packages from the main esri conda channel to help address this for Pro 3.1 machines. 

If you create a fresh clone of arcgispro-py3 you should be able to `conda install dltsolutions` and then `import pyarrow` will work again. 

Hope this helps! We will also be looking at patching our 3.1 environment to further stop it from updating pyarrow on conda installs.

jswift
by
Emerging Contributor

Hi Brian,

I am attempting to update a fresh clone; first I tried the command by PingYin above but I got many errors, so now I tried the first command you wrote above `conda install dltsolutions` , and still cannot update it. So many conflicts and the end result is that the clone is "not available" after trying this.

Is there a better command to try?

Or is it not working because there are spaces in the path to the clone....

... and every time I try a variation of this command to do the update, it takes about 30-80 minutes.

I am using Pro 3.2.2 (just patched yesterday 3/1/24) on a fast laptop.

Thank you, Jen

 

 

0 Kudos