首页 > 解决方案 > 从 Anaconda 提示符而不是 spyder 导入包

问题描述

我从 anaconda 安装了一个名为osmnx

conda install -c conda-forge osmnx

然后我安装spyderjupyter在相同的环境中。在 Anaconda 提示符下,这是可行的,因为geopandas它是osmnx的依赖项之一:

(base) C:\Users\aboufira>activate test

(test) C:\Users\aboufira>python
Python 2.7.15 (default, Nov 28 2018, 16:37:52) [MSC v.1500 64 bit (AMD64)] on wi
n32
Type "help", "copyright", "credits" or "license" for more information.
>>> import geopandas
>>>

但是以下不起作用,我对为什么感到困惑:

(test) C:\Users\aboufira>spyder

然后IPython 控制台中,我输入:

import geopandas

我被一个巨大的错误扇了耳光:

Type "copyright", "credits" or "license" for more information.

IPython 5.7.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: import geopandas
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-fc7d1d298f0c> in <module>()
----> 1 import geopandas

C:\ProgramData\Anaconda2\lib\site-packages\geopandas\__init__.pyc in <module>()
      2 from geopandas.geodataframe import GeoDataFrame
      3 
----> 4 from geopandas.io.file import read_file
      5 from geopandas.io.sql import read_postgis
      6 from geopandas.tools import sjoin

C:\ProgramData\Anaconda2\lib\site-packages\geopandas\io\file.py in <module>()
      1 import os
      2 
----> 3 import fiona
      4 import numpy as np
      5 

C:\ProgramData\Anaconda2\lib\site-packages\fiona\__init__.py in <module>()
     67 from six import string_types
     68 
---> 69 from fiona.collection import Collection, BytesCollection, vsi_path
     70 from fiona._drivers import driver_count, GDALEnv
     71 from fiona.drvsupport import supported_drivers

C:\ProgramData\Anaconda2\lib\site-packages\fiona\collection.py in <module>()
      7 
      8 from fiona import compat
----> 9 from fiona.ogrext import Iterator, ItemsIterator, KeysIterator
     10 from fiona.ogrext import Session, WritingSession
     11 from fiona.ogrext import (

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

In [2]: 

我使用 . 检查了环境变量os.environ和使用sys.executable. 一切似乎都一样。为什么在 Anaconda 提示符中找到相同的包导入但在 jupyter qtconsole 或 spyder 中没有?

编辑

sys.pathincmd包含以下内容:

C:\ProgramData\Anaconda2\envs\test\python27.zip
C:\ProgramData\Anaconda2\envs\test\DLLs
C:\ProgramData\Anaconda2\envs\test\lib
C:\ProgramData\Anaconda2\envs\test\lib\plat-win
C:\ProgramData\Anaconda2\envs\test\lib\lib-tk
C:\ProgramData\Anaconda2\envs\test
C:\ProgramData\Anaconda2\envs\test\lib\site-packages

sys.pathinipython包含以下内容:

C:\ProgramData\Anaconda2\lib\site-packages
C:\ProgramData\Anaconda2\lib\site-packages\spyder
C:\ProgramData\Anaconda2\envs\test\python27.zip
C:\ProgramData\Anaconda2\envs\test\DLLs
C:\ProgramData\Anaconda2\envs\test\lib
C:\ProgramData\Anaconda2\envs\test\lib\plat-win
C:\ProgramData\Anaconda2\envs\test\lib\lib-tk
C:\ProgramData\Anaconda2\envs\test
C:\ProgramData\Anaconda2\envs\test\lib\site-packages
C:\ProgramData\Anaconda2\lib\site-packages\IPython\extensions
C:\Users\aboufira\.ipython

标签: pythonanacondajupyterspydergeopandas

解决方案


推荐阅读