使用 anaconda 提示安装 geopandas 会导致 ImportError

问题描述

我的目标是在 python 中分析地理数据,但在第 1 步失败:安装。我对 python 比较陌生,习惯于用 pip 安装包。现在,对于 geopandas,看起来我应该使用 conda install。很遗憾,我遇到了一个错误

我做了什么:我下载了最新的 anconda 软件,并在 anaconda 提示符 (anaconda3) 中输入了“conda install geopandas”。

在线阅读类似问题我看到一些问题通过更新 anaconda 得到解决,但由于我在主页上下载了该版本,我希望它是最新的。另外,我没有找到任何与我的错误代码类似的条目。

根据我从响应中收集到的信息,anaconda 甚至没有找到包(以下代码的第一行)。但是,我对错误代码的分析不是很有经验。

任何帮助将不胜感激!

错误代码

Collecting package Metadata (current_repodata.json): Failed
WARNING conda.exceptions:print_unexpected_error_report(1213): KeyError('pkgs_dirs')
Traceback (most recent call last):
  File "D:\Programs\Anaconda3\lib\site-packages\conda\exceptions.py",line 1079,in __call__
    return func(*args,**kwargs)
  File "D:\Programs\Anaconda3\lib\site-packages\conda\cli\main.py",line 84,in _main
    exit_code = do_call(args,p)
  File "D:\Programs\Anaconda3\lib\site-packages\conda\cli\conda_argparse.py",line 83,in do_call
    return getattr(module,func_name)(args,parser)
  File "D:\Programs\Anaconda3\lib\site-packages\conda\cli\main_install.py",line 20,in execute
    install(args,parser,'install')
  File "D:\Programs\Anaconda3\lib\site-packages\conda\cli\install.py",line 261,in install
    unlink_link_transaction = solver.solve_for_transaction(
  File "D:\Programs\Anaconda3\lib\site-packages\conda\core\solve.py",line 114,in solve_for_transaction
    unlink_precs,link_precs = self.solve_for_diff(update_modifier,deps_modifier,File "D:\Programs\Anaconda3\lib\site-packages\conda\core\solve.py",line 157,in solve_for_diff
    final_precs = self.solve_final_state(update_modifier,prune,ignore_pinned,line 262,in solve_final_state
    ssc = self._collect_all_Metadata(ssc)
  File "D:\Programs\Anaconda3\lib\site-packages\conda\common\io.py",line 88,in decorated
    return f(*args,**kwds)
  File "D:\Programs\Anaconda3\lib\site-packages\conda\core\solve.py",line 425,in _collect_all_Metadata
    index,r = self._prepare(prepared_specs)
  File "D:\Programs\Anaconda3\lib\site-packages\conda\core\solve.py",line 1020,in _prepare
    reduced_index = get_reduced_index(self.prefix,self.channels,File "D:\Programs\Anaconda3\lib\site-packages\conda\core\index.py",line 276,in get_reduced_index
    new_records = SubdirData.query_all(spec,channels=channels,subdirs=subdirs,File "D:\Programs\Anaconda3\lib\site-packages\conda\core\subdir_data.py",line 98,in query_all
    create_cache_dir()
  File "D:\Programs\Anaconda3\lib\site-packages\conda\core\subdir_data.py",line 674,in create_cache_dir
    cache_dir = join(PackageCacheData.first_writable().pkgs_dir,'cache')
  File "D:\Programs\Anaconda3\lib\site-packages\conda\core\package_cache_data.py",line 152,in first_writable
    pkgs_dirs = context.pkgs_dirs
  File "D:\Programs\Anaconda3\lib\site-packages\conda\base\context.py",line 520,in pkgs_dirs
    fixed_dirs += user_data_dir(APP_NAME,APP_NAME),File "D:\Programs\Anaconda3\lib\site-packages\conda\_vendor\appdirs.py",line 67,in user_data_dir
    path = os.path.join(_get_win_folder(const),appauthor,appname)
  File "D:\Programs\Anaconda3\lib\site-packages\conda\_vendor\appdirs.py",line 284,in _get_win_folder_with_pywin32
    from win32com.shell import shellcon,shell
ImportError: DLL load Failed while importing shell: The specified module Could not be found.

During handling of the above exception,another exception occurred:

Traceback (most recent call last):
  File "D:\Programs\Anaconda3\lib\site-packages\conda\exceptions.py",line 1211,in print_unexpected_error_report
    message_builder.append(get_main_info_str(error_report['conda_info']))
  File "D:\Programs\Anaconda3\lib\site-packages\conda\cli\main_info.py",line 238,in get_main_info_str
    info_dict['_' + key] = ('\n' + 26 * ' ').join(info_dict[key])
KeyError: 'pkgs_dirs'

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "D:\Programs\Anaconda3\lib\site-packages\conda\exceptions.py",in __call__
        return func(*args,**kwargs)
      File "D:\Programs\Anaconda3\lib\site-packages\conda\cli\main.py",in _main
        exit_code = do_call(args,p)
      File "D:\Programs\Anaconda3\lib\site-packages\conda\cli\conda_argparse.py",in do_call
        return getattr(module,parser)
      File "D:\Programs\Anaconda3\lib\site-packages\conda\cli\main_install.py",in execute
        install(args,'install')
      File "D:\Programs\Anaconda3\lib\site-packages\conda\cli\install.py",in install
        unlink_link_transaction = solver.solve_for_transaction(
      File "D:\Programs\Anaconda3\lib\site-packages\conda\core\solve.py",in solve_for_transaction
        unlink_precs,in solve_for_diff
        final_precs = self.solve_final_state(update_modifier,in solve_final_state
        ssc = self._collect_all_Metadata(ssc)
      File "D:\Programs\Anaconda3\lib\site-packages\conda\common\io.py",in decorated
        return f(*args,**kwds)
      File "D:\Programs\Anaconda3\lib\site-packages\conda\core\solve.py",in _collect_all_Metadata
        index,r = self._prepare(prepared_specs)
      File "D:\Programs\Anaconda3\lib\site-packages\conda\core\solve.py",in _prepare
        reduced_index = get_reduced_index(self.prefix,in get_reduced_index
        new_records = SubdirData.query_all(spec,in query_all
        create_cache_dir()
      File "D:\Programs\Anaconda3\lib\site-packages\conda\core\subdir_data.py",in create_cache_dir
        cache_dir = join(PackageCacheData.first_writable().pkgs_dir,'cache')
      File "D:\Programs\Anaconda3\lib\site-packages\conda\core\package_cache_data.py",in first_writable
        pkgs_dirs = context.pkgs_dirs
      File "D:\Programs\Anaconda3\lib\site-packages\conda\base\context.py",in pkgs_dirs
        fixed_dirs += user_data_dir(APP_NAME,in user_data_dir
        path = os.path.join(_get_win_folder(const),appname)
      File "D:\Programs\Anaconda3\lib\site-packages\conda\_vendor\appdirs.py",in _get_win_folder_with_pywin32
        from win32com.shell import shellcon,shell
    ImportError: DLL load Failed while importing shell: The specified module Could not be found.

`$ D:\Programs\Anaconda3\Scripts\conda-script.py install geopandas`

  environment variables:
conda info Could not be constructed.
KeyError('pkgs_dirs')

An unexpected error has occurred. Conda has prepared the above report.

解决方法

当时我遇到了同样的问题,我按照此链接上的说明进行操作。

https://medium.com/analytics-vidhya/fastest-way-to-install-geopandas-in-jupyter-notebook-on-windows-8f734e11fa2b

这基本上是在你的 anaconda 导航器中创建一个新环境,我可以让 geopandas 正常工作。