Как решить импортную ошибку для pandas?
Я установил Anaconda с python 2.7.7.
Однако, когда я запускаю "import pandas", я получаю сообщение об ошибке:
"ImportError: C extension: y not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace' to build the C extensions first."
Я попытался выполнить предложенную команду, но он заявил, что
skipping 'pandas\index.c' Cython extension (up-to-date)
skipping 'pandas\src\period.c' Cython extension (up-to-date)
skipping 'pandas\algos.c' Cython extension (up-to-date)
skipping 'pandas\lib.c' Cython extension (up-to-date)
skipping 'pandas\tslib.c' Cython extension (up-to-date)
skipping 'pandas\parser.c' Cython extension (up-to-date)
skipping 'pandas\hashtable.c' Cython extension (up-to-date)
skipping 'pandas\src\sparse.c' Cython extension (up-to-date)
skipping 'pandas\src\testing.c' Cython extension (up-to-date)
skipping 'pandas\msgpack.cpp' Cython extension (up-to-date)
Кто-нибудь сталкивался с этим раньше и нашел решение?
Ответы
Ответ 1
У Pandas есть части кода, написанные на C, чтобы заставить его работать быстрее. Если вы попытались вручную установить pandas, вам нужно будет его построить. Попробуйте переустановить его с помощью менеджера пакетов miniconda здесь: http://conda.pydata.org/miniconda.html
и тогда вы можете просто сделать
conda install pandas
Есть очень простые инструкции о том, как это сделать в приведенной ниже ссылке. Просто сделайте ctrl-f miniconda, чтобы найти раздел, который говорит об этом
http://pandas.pydata.org/pandas-docs/dev/install.html
Ответ 2
У меня была та же проблема с Python 3.4.3.
Я использовал pandas -0.18.0.
Модернизация (с помощью pip) решила проблему для меня:
[sudo] pip install --upgrade pandas
Конечный результат обновления:
Successfully installed numpy-1.13.3 pandas-0.21.0 python-dateutil-2.6.1 pytz-2017.3 six-1.11.0
После этого проблема исчезла!
Ответ 3
У меня была такая же проблема, и проблема возникла из-за проблемы с кодировкой.
Мой os был ранее настроен на французском языке, и все было в порядке. Но затем, когда я переключился на английский, у меня была ошибка выше.
Вы можете ввести
locale
в терминале для проверки локальных переменных среды.
При настройке по-французски у меня была такая конфигурация:
французский вариант.
Затем, после того, как я перешел на английский, у меня было:
Английский вариант конфигурации.
Затем я добавил следующие строки в .bash_profile в разделе /Users/myName, и все вернулось к нормальному.
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
Ответ 4
Я перепробовал все решения выше, но ничего не получается...
Сообщение об ошибке
Я получил сообщение об ошибке с ipython
ImportError: C extension: iNaT not built. If you want to import pandas
from the source directory,
you may need to run 'python setup.py build_ext --inplace --force'
to build the C extensions first.
и это предполагает
$ python setup.py build_ext --inplace --force
Решение
Мое предложение: будьте осторожны с проблемой версии!
Я клонирую pandas
из официального репозитория github, затем собираю его сам и устанавливаю с помощью pip
Ниже приведена команда, которую я набрал в терминале
$ cd pandas
$ python setup.py build_ext --inplace --force
$ sudo pip install . # don't forget the dot
или, если вы хотите установить в свою личную учетную запись Linux вместо системы (из-за проблемы с несколькими пользователями)
Вы можете добавить флаг --user
$ pip --user install . # don't forget the dot, too
Теперь все отлично работает на моем ноутбуке
Моя конфигурация
Ubuntu 16.04
Python 2.7
Numpy 1.13.1
Удачи!
Ответ 5
Я не смог обновить панды с помощью регулярных
pip install --upgrade pandas
"tensorflow 1.6.0 has requirement numpy>=1.13.3, but you'll have numpy 1.13.1 which is incompatible."
Однако, столкнувшись с этим:
pip install --upgrade pandas --force
полностью решить проблему
Ответ 6
У меня была эта проблема с python 2.7.13
вот мое решение:
1. установите Cython с помощью
pip install Cython
2. установите g++ и gcc
apt-get install gcc, g++
3. удалить pandas
pip uninstall pandas
4. переустановить pandas
pip install pandas
тогда все будет в порядке.
Ответ 7
На самом деле, ни один из этих ответов не работал для меня в следующей среде:
docker-compose # multiple containers, the managing one based on debian
Python 2.7
Django 1.8.19
numpy==1.11.3 # pinned to version, because of https://github.com/rbgirshick/py-faster-rcnn/issues/481
... more requirements
Следующее решение работало после прочтения
https://github.com/pandas-dev/pandas/issues/18281
а также
https://github.com/pandas-dev/pandas/issues/16715
которые оба рассматривали промежуточные решения, а затем рекомендовали модернизацию,
поэтому я интегрирован в файл Dockerfile
pip install -r requirements.txt \
&& pip install \
pandas==0.21.0 \
--force-reinstall \
--upgrade \
--no-deps \
--no-cache \
--find-links https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com/ \
--no-index
который указан в https://github.com/pandas-dev/pandas/issues/16715#issuecomment-310063504
Я пробовал все решения, упомянутые здесь, за исключением принятого ответа, также потому, что: а) я не хочу anaconda в среде веб-производства и b) это не очень хороший ответ для создания рамок или cli-решений для архитектур, где пакет не подержанный автономный...
Кроме того, мне не нравится @colo ответить на downvoted, потому что это действительно приемлемое решение в определенной среде.
Для тех, кто найдет эту тему с похожими требованиями и ожиданиями, такими как я, я надеюсь, что сэкономил несколько минут.
Ответ 8
попробуйте
/miniconda3/bin/conda install python
python: 3.6.0-0 --> 3.6.1-2
и
/miniconda3/bin/conda install pandas
Попробуйте то же самое с версией Anaconda.
Ответ 9
Вместо того, чтобы устанавливать его с помощью conda или pip, попробуйте установить его с помощью менеджера пакетов:
sudo apt-get install python3- pandas
Ответ 10
У меня была эта проблема, когда мне нужно было обновить с Python 32-битное до 64 бит, чтобы использовать shadoworflow.
Запустив эту команду, удалил pandas 0.21 и переустановил 0.22:
pip install --upgrade pandas
Сортировано.
Ответ 11
У меня просто была такая же проблема при запуске tox
.
Шаги для решения:
- Обновите
setup.py
чтобы содержать pandas==0.23.0
(вместо 0.21.0
). - Удалить каталог
.tox
- Запустите
tox
снова.