Я пытаюсь выполнить несколько простых операций, используя Rasterio
и GDAL
, но утечки памяти просто убивают мой компьютер. Я просто хотел открыть и распечатать tif
файл, а это заняло около 50 ГБ !!! Ram, хотя сам образ составляет всего 1,2 ГБ.
Код довольно простой.
import rasterio
from rasterio.plot import show
src = rasterio.open("../temp.tif", mode="r+")
datimg = src.read(1)
show(src.read(1))
Вот изображение использования памяти на средней панели. Это все оперативная память.
Таким образом, процесс на самом деле никогда не работал, и теперь мне нужно выйти из системы и снова войти в свою учетную запись на моем компьютере, чтобы очистить память.
У меня были установлены gdal версии 2.3.3 и rasterio версии 1.0.21, поэтому я надеялся, что этот человек, обновивший версию gdal до 3.0.1, может исправить проблемы.
Я использую дистрибутив Anaconda на python 3.7, Ubuntu linux 18.04 LTS. Но когда я попытался перейти на новую версию gdal с помощью conda install -c conda-forge gdal gdal==3.0.1
, я получил ошибки, указывающие на несовместимость с другими пакетами.
conda install -c conda-forge gdal gdal==3.0.1
Collecting package metadata (current_repodata.json): done
Solving environment: failed
Collecting package metadata (repodata.json): done
Solving environment: failed
UnsatisfiableError: The following specifications were found to be incompatible with each other:
- _anaconda_depends -> mkl-service
- anaconda -> mkl-service==1.1.2=py36he904b0f_5
- fiona -> gdal[version='>=2.4.1,<2.5.0a0'] -> libgdal==2.4.2=h0845e09_2
- gdal==3.0.1 -> libgdal==3.0.1=h0845e09_3
- geopandas -> fiona -> gdal[version='>=2.4.1,<2.5.0a0'] -> libgdal==2.4.2=h0845e09_2
- libgdal
- pkgs/main/linux-64::importlib_metadata==0.8=py37_0
- pkgs/main/linux-64::mkl-service==1.1.2=py37he904b0f_5
- pkgs/main/linux-64::path.py==11.5.0=py37_0 -> importlib_metadata[version='>=0.5']
- rasterio -> libgdal[version='>=2.4.1,<2.5.0a0']
Итак, я не уверен, что мне здесь делать? Я не могу выходить и снова входить в свою учетную запись каждый раз, когда запускаю команду. Память никогда не освобождается, поэтому, если я снова запускаю любую команду rasterio или gdal, вся система блокируется.