Ответ 1
После комментария mewahl я добавил к моему.bashrc (я использую bash):
export PROJ_LIB =/path/to/your/instalation/of/anaconda/share/proj/
и теперь basemap (и другие работают).
Я пытался использовать пакет Basemap для построения карты с помощью PyCharm, но у меня что-то не так с
from mpl_toolkits.basemap import Basemap'
А трассировка такова:
Traceback (most recent call last):
File "/Users/yupeipei/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2963, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-4-0a24a3a77efd>", line 7, in <module>
from mpl_toolkits.basemap import Basemap
File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 20, in do_import
module = self._system_import(name, *args, **kwargs)
File "/Users/yupeipei/anaconda3/lib/python3.6/site-packages/mpl_toolkits/basemap/__init__.py", line 146, in <module>
pyproj_datadir = os.environ['PROJ_LIB']
File "/Users/yupeipei/anaconda3/lib/python3.6/os.py", line 669, in __ getitem__
raise KeyError(key) from None
KeyError: 'PROJ_LIB'
Я запутался с этой ошибкой на PyCharm, потому что тот же скрипт работает правильно на Jupyter или Spyder! Среда в PyCharm - это.. /anaconda3/lib/python3.6, где то же самое от anaconda.
Кто-нибудь встречал эту ошибку раньше?
Может ли кто-нибудь помочь мне решить эту ошибку?
После комментария mewahl я добавил к моему.bashrc (я использую bash):
export PROJ_LIB =/path/to/your/instalation/of/anaconda/share/proj/
и теперь basemap (и другие работают).
Для Windows 10 с Anaconda + Python 3.71 (и я уверен, что другие версии Python 3 и Windows 7/8), вы можете указать Basemap, где Proj4 "epsg" файл должен быть успешным. У меня нет "среды" или чего-то еще, потому что это слишком много работы, чтобы понять - поэтому у меня не было области anaconda\share\proj (насколько я мог понять, почему у меня ее не было).
Но, что хочет Basemap, так это файл "epsg", найдите его в каталоге Anaconda с помощью проводника Windows. Если он не находит его, установите Proj4, открыв "Anaconda Prompt" и введя:
conda install -c conda-forge proj4
Если он найдет его, он должен выглядеть примерно так:
C:\Utilities\Python\Anaconda\Library\Share (там, где был мой, а также в\pkgs\местах, где, как мне кажется, он сам помещает пакет - и они тоже могут работать, если это необходимо, я сначала их использовал, но библиотека должна работать через обновления лучше (возможно)).
Используйте следующий код перед импортом Basemap, и он будет работать. Устанавливает переменную среды PROJ_LIB, где бы ни находился epsg, и тогда Basemap может быть счастливым.
import os
os.environ["PROJ_LIB"] = "C:\\Utilities\\Python\\Anaconda\\Library\\share"; #fixr
from mpl_toolkits.basemap import Basemap
В качестве приятного бонуса, чтобы получить в высоком разрешении данные базовой карты, которые Anaconda не включает в программу установки базовой карты, введите "Anaconda Prompt":
conda install -c conda-forge basemap-data-hires
Вы должны установить путь к Proj lib, как в более новой версии, этот путь был заменен. Напишите ниже две строки кода перед импортом matplot_toolkits
### For Window Users
import os
os.environ['PROJ_LIB'] = r'C:\Users\XXXXX\Anaconda3\pkgs\proj4-5.2.0-
ha925a31_1\Library\share'
Чтобы найти путь к Proj_lib, просто найдите epsg, а затем скопируйте местоположение этого файла epsg и вставьте в proj_lib. Ваша проблема будет решена.
### For Linux Users
import os
os.environ['PROJ_LIB'] = r'/home/XXXXXX/anaconda3/pkgs/proj4-5.2.0-
he6710b0_1/share/proj'
Ответ от Github, и он работал для меня.
import os
import conda
conda_file_dir = conda.__file__
conda_dir = conda_file_dir.split('lib')[0]
proj_lib = os.path.join(os.path.join(conda_dir, 'share'), 'proj')
os.environ["PROJ_LIB"] = proj_lib
from mpl_toolkits.basemap import Basemap
Кажется, это общая проблема. Есть несколько сообщений об ошибках об этом
Я сам столкнулся с этой ошибкой, и для меня решение было удалить базовую карту 1.2, затем установить базовую карту 1.1 из старого файла колеса, который у меня все еще лежал, и затем снова установить базовую карту 1.2. Честно говоря, я понятия не имею, почему это сработало.
Также из вышеперечисленных вопросов есть множество других решений, о которых люди сообщали, что работают на них. Надеюсь, один из них подходит и здесь.
Я столкнулся с той же проблемой. Я установил anaconda и установил базовую карту anaconda conda install -c.
Я использовал Anaconda, встроенную в IDE под названием "Spyder". Spyder лучше, чем pycharm. Единственная проблема со спайдером - отсутствие интеллигентности.
Я решил проблему Proj4, установив путь.
Другая проблема - перезапуск ядра при загрузке набора файлов большего размера.json.
Я использую редактор notepad++ и 010 для повторного сохранения файла небольшими порциями и, наконец, я объединил все выходные данные.
Простое решение Proj4, которое можно исправить на pycharm - это перейти setting-> интерпретатор проекта → + → написать proj4 в поле поиска и установить.