Почему я получаю ImportError при попытке импортировать Панд модуль Python?

Я установил модуль Панд для использования Python 2.7 apt-get. Однако, когда я пытаюсь импортировать модуль, он повышает ImportError:

 import pandas as pd
 File "/usr/lib/pymodules/python2.7/pandas/__init__.py", line 15, in <module>
    raise ImportError('ImportError: C extensions not built: if you installed already verify that you are not importing from the source directory')

Вызов в /usr/lib/pymodules/python2.7/pandas/__init__.py :

import pandas.lib as lib
except Exception:  # pragma: no cover
    import sys
    e = sys.exc_info()[1] # Py25 and Py3 current exception syntax conflict
    if 'No module named' in str(e):
        raise ImportError('C extensions not built: if you installed already '
                          'verify that you are not importing from the source '
                          'directory')
    else:
        raise

Почему я добираюсь ImportError и как я решаю это?

Следующее - то, что я получаю при попытке импортировать зависимости Панд в интерактивной оболочке Python:

>>> import numpy as np
>>> import dateutil
>>> import pytz
>>> import numexpr
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named numexpr
>>> import bottleneck
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named bottleneck
6
задан 14 April 2014 в 12:44

2 ответа

Следующее является зависимостями для Панд:

  • NumPy
  • python-dateutil
  • pytz

И проект Панд перечисляет следующие два как настоятельно рекомендованные зависимости:

  • numexpr
  • узкое место

Это похоже apt-get только установленный необходимые зависимости а не наиболее рекомендуемые; как таковой Вы добираетесь ImportError при попытке импортировать numexpr и bottleneck. Установка этих модулей должна по всей вероятности решить проблему.

С тех пор Вы запускаете Python 2.7, столь очевидный от Python Traceback, устанавливаете эти два модуля как предложенный ниже:

  • numexpr присутствует в репозиториях Ubuntu. Так, установите его путем выполнения:

    sudo apt-get install python-numexpr
    
  • bottleneck не присутствует в репозиториях Ubuntu. Так, установите его использование pip. Мы должны были бы также установить build-essentials пакет для создания bottleneck:

    sudo apt-get install python-pip build-essentials
    sudo pip install bottleneck
    
2
ответ дан 17 November 2019 в 09:48

Кроме того, если пакет был установлен через easy_install, и теперь другие пакеты зависимости были установлены через ЗЕРНЫШКО, этот вид проблемы может возникнуть.

Для фиксации удалите любые/все модули, установленные через easy_install rm -rf /usr/local/lib/python2.7/site-packages/"module_name".

Затем работает pip install "module_name".

0
ответ дан 17 November 2019 в 09:48

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

Похожие вопросы: