В даташедере произошла мгновенная ошибка

Я использовал пакет Python datashader 0.5.0 для отображения информации о плотности населения, как правило, следуя учебному руководству https://www.continuum.io/blog/developer-blog/analyzing-and-visualizing-big-data-interactively-your-laptop-datashading-2010-us. Я установил DataShader с помощью conda install -c bokeh datashader=0.5.0,

Все было хорошо. Хотя, возможно, это и не было связано, казалось, что все сломалось, как только я установил пакеты haloviews и geoviews. После установки этих дополнительных пакетов я больше не могу импортировать datashader, и мой когда-то работающий код больше не запускается. При импорте datashader я получаю следующую ошибку: AttributeError: модуль 'snappy' не имеет атрибута 'compress'

Я работаю на Windows 10, Anaconda Python 3.5.3.

Возможно, я иду не по той кроличьей норе, но я подумала, что, может быть, это поспешная посылка. Я запустил "conda install -c conda-forge snappy=1.1.4". Список conda показывает, что snappy установлен. Снейппи делает импорт. Объект snappy.compress не найден. Кажется, моя проблема связана со следующим сообщением, так как у меня также была ошибка fastparquet при попытке использовать geoviews: ошибка с snappy при импорте fastparquet в python

При беге import snappy, print(snappy.__filename__) выдает следующую ошибку:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-5-b8565733b383> in <module>()
----> 1 import snappy; print(snappy.__file__)

AttributeError: module 'snappy' has no attribute '__file__'

Я также попытался удалить через conda и pip на всякий случай. Все еще нет радости.

Запуск "pip install python-snappy" приводит к ошибке "Не удалось создать колесо для python-snappy", сопровождаемой "ошибкой: требуется Microsoft Visual C++ 14.0..." Поэтому я пошел и получил "Распространяемый Microsoft Visual C++ для Visual Studio" 2017"и запустил его, но без изменений.

Есть мысли о том, как решить эту проблему? Для справки: полная ошибка при импорте данных выглядит следующим образом:

--------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-7-3d7b1ff9e530> in <module>()
----> 1 import datashader

C:\Python\lib\site-packages\datashader\__init__.py in <module>()
      3 __version__ = '0.5.0'
      4 
----> 5 from .core import Canvas
      6 from .reductions import (count, any, sum, min, max, mean, std, var, count_cat,
      7                          summary)

C:\Python\lib\site-packages\datashader\core.py in <module>()
      3 import numpy as np
      4 from datashape.predicates import istabular
----> 5 from odo import discover
      6 from xarray import DataArray
      7 

C:\Python\lib\site-packages\odo\__init__.py in <module>()
     63     from .backends.url import URL
     64 with ignoring(ImportError):
---> 65     from .backends.dask import dask
     66 
     67 

C:\Python\lib\site-packages\odo\backends\dask.py in <module>()
      8 
      9 from dask.array.core import Array, from_array
---> 10 from dask.bag.core import Bag
     11 import dask.bag as db
     12 from dask.compatibility import long

C:\Python\lib\site-packages\dask\bag\__init__.py in <module>()
      1 from __future__ import absolute_import, division, print_function
      2 
----> 3 from .core import (Bag, Item, from_sequence, from_url, to_textfiles, concat,
      4                    from_delayed, map_partitions, bag_range as range,
      5                    bag_zip as zip, bag_map as map)

C:\Python\lib\site-packages\dask\bag\core.py in <module>()
     30 
     31 from ..base import Base, normalize_token, tokenize
---> 32 from ..bytes.core import write_bytes
     33 from ..compatibility import apply, urlopen
     34 from ..context import _globals, defer_to_globals

C:\Python\lib\site-packages\dask\bytes\__init__.py in <module>()
      2 
      3 from ..utils import ignoring
----> 4 from .core import read_bytes, open_files, open_text_files
      5 
      6 from . import local

C:\Python\lib\site-packages\dask\bytes\core.py in <module>()
      7 from warnings import warn
      8 
----> 9 from .compression import seekable_files, files as compress_files
     10 from .utils import (SeekableFile, read_block, infer_compression,
     11                     infer_storage_options, build_name_function)

C:\Python\lib\site-packages\dask\bytes\compression.py in <module>()
     30 with ignoring(ImportError):
     31     import snappy
---> 32     compress['snappy'] = snappy.compress
     33     decompress['snappy'] = snappy.decompress
     34 

AttributeError: module 'snappy' has no attribute 'compress'

1 ответ

Решение

Оказывается, что при добавлении пакетов что-то испортило установку snappy. Я следовал этому решению: Как установить библиотеки snappy C в Windows 10 для использования с python-snappy в Anaconda? Это была мгновенная ошибка, а не проблема с даташерами, но я оставлю пост на тот случай, если у кого-то возникнет такая же серия проблем.

Другие вопросы по тегам