Невозможно импортировать pyarrow, загрузка DLL не удалась при импорте lib
Я пытался заставить polars
работать, но pyarrow
продолжает выдавать ошибку с или без пакета polars
, pyarrow==10.0.0
установлен и версия django Django==3.0.5
, я могу импортировать его в оболочке python, но когда я импортирую его внутри моего приложения django, он выдает мне эту ошибку всегда и везде, где он импортируется:
File "xxx.py", line 1870, in xxx
print(pl.read_sql(query, ALCHEMY_SQL))
File "C:\Users\duoqu\miniconda3\envs\test-env\lib\site-packages\polars\io.py", line 1107, in read_sql
tbl = cx.read_sql(
File "C:\Users\duoqu\miniconda3\envs\test-env\lib\site-packages\connectorx\__init__.py", line 253, in read_sql
import pyarrow
File "C:\Users\duoqu\miniconda3\envs\test-env\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.
Или вот так:
File "xxx.py", line 59, in <module>
import pyarrow
File "C:\Users\duoqu\miniconda3\envs\test-env\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.
Импортирование модуля из shell в среде anaconda, но просто из обычного python shell:
Python 3.8.15 (default, Nov 4 2022, 15:16:59) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyarrow
>>> pyarrow.lib
<module 'pyarrow.lib' from 'C:\\Users\\duoqu\\miniconda3\\envs\\test-env\\lib\\site-packages\\pyarrow\\lib.cp38-win_amd64.pyd'>
>>>
Также он признан pylance:
В чем может быть проблема? Я готов предоставить любую информацию о моей установке тоже, не уверен, что нужно предоставить прямо сейчас, просто дайте мне знать и я прикреплю их.
UPDATE:
Я попробовал поместить оператор import pyarrow
внутри settings.py
и вот что получилось:
Теперь похоже, что модуль gis от django (точнее libgdal) и pyarrow's clibs каким-то образом перепутали одно с другим. Не уверен, как это исправить, но, вероятно, проблема в этом.