netCDF4 и пакет Basemap на Python 3.7 - PullRequest
0 голосов
/ 04 августа 2020

Надеюсь, кто-нибудь может мне помочь с этим.

Я рисую данные netcdf на карте, используя пакеты mpl_toolkits.basemap и netCDF4.Dataset. Они отлично работали несколько месяцев go, и я успешно построил то, что хотел. Теперь я хочу обновить свою работу новыми данными, но тот же код больше не работает. Я переустанавливал python несколько раз, используя несколько директорий (например, conda_forge и anaconda) и разные системы (pip, miniconda, anaconda), но у меня ничего не работает, поэтому я действительно не знаю, как действовать.

В настоящее время я использую python 3.7, установленный через miniconda на машине Win10, и использую следующие пакеты в этом конкретном коде:

### IMPORT MODULES AND FUNCTIONS ##############################################
import os
import datetime             as dt
import numpy                as np
import matplotlib
import matplotlib.pyplot    as plt
from   netCDF4              import Dataset
from   mpl_toolkits.basemap import Basemap

from netCDF4 import Dataset дает:

ImportError: DLL load failed: The specified module could not be found.

и from mpl_toolkits.basemap import Basemap дает:

  File "C:\Users\drauter\Dropbox\OZONE\Extremes\geopotential_date_level_PLOT.py", line 32, in <module>
    from   mpl_toolkits.basemap import Basemap

  File "C:\Users\drauter\Miniconda3\lib\site-packages\mpl_toolkits\basemap\__init__.py", line 155, in <module>

    pyproj_datadir = os.environ['PROJ_LIB']

  File "C:\Users\drauter\Miniconda3\lib\os.py", line 678, in __getitem__
    raise KeyError(key) from None

KeyError: 'PROJ_LIB'

Proj однако установлен .....

Кто-нибудь испытывал что-то подобное, или кто-нибудь знает, что я могу попробовать? Я также открыт для альтернатив, хотя я действительно не хочу переписывать весь код из-за этого.

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 06 августа 2020

согласно списку conda установлены оба пакета (включая proj4, который необходим для работы базовой карты).

Я все равно принудительно переустановил их, но

python -c 'from netCDF4 import Dataset'
python -c 'from mpl_toolkits.basemap import Basemap'

, к сожалению, не работает работает, пишет:

SyntaxError: EOL while scanning string literal

Спасибо!

0 голосов
/ 05 августа 2020

Дважды проверьте, что conda считает, что netCDF4 и basemap установлены с

conda list

Вы также можете попытаться переустановить с помощью:

conda install --force-reinstall netcdf4
conda install --force-reinstall basemap

Оттуда, Я бы не стал запускать скрипт, а просто посмотрю, работает ли это:

python -c 'from netCDF4 import Dataset'
python -c 'from mpl_toolkits.basemap import Basemap'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...