如何解决pandas的导入错误?

时间:2015-06-10 15:44:03

标签: python python-2.7 pandas pydev python-import

我使用python 2.7.7安装了Anaconda。
但是,每当我运行"导入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)

之前是否有人遇到此问题并找到解决方案?

13 个答案:

答案 0 :(得分:20)

我现在遇到了与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

在此之后,问题就消失了!

答案 1 :(得分:11)

我遇到了同样的问题,问题来自编码问题。 我的操作系统之前是用法语设置的,一切都很好。但是当我切换到英语时,我遇到了上述错误。

您可以输入

locale
<\ n>在终端中检查本地环境变量。

当用法语设置时,我有这样的配置: French config。 然后,在我切换到英语后,我有: English config

然后我在/ Users / myName下的.bash_profile中添加了以下行,一切都恢复正常。

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

答案 2 :(得分:8)

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

答案 3 :(得分:3)

我尝试了上面的所有解决方案,但没有任何结果......

错误消息

我收到了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

解决方案

我的建议:请注意版本问题!

我从官方github repo克隆pandas,然后自己构建并按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 
祝你好运!

答案 4 :(得分:3)

我无法使用常规

升级pandas
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

完全解决了问题

答案 5 :(得分:2)

我遇到了python 2.7.13的这个问题 这是我的解决方案: 1.使用

安装Cython
pip install Cython

2。安装g ++和gcc

apt-get install gcc, g++

3。卸载pandas

pip uninstall pandas

4。重新安装熊猫

pip install pandas

然后一切都会好的。

答案 6 :(得分:1)

实际上,在以下环境中,这些答案都不对我有用:

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
{p> {3}}中提到的

我尝试了这里提到的所有解决方案,除了可接受的答案外,还因为a)我不希望在Web生产环境中使用anaconda,并且b)对于构建体系结构的框架或cli-solutions来说不是一个好答案包不能独立使用...

此外,我不喜欢@colo的回答被否决,因为它实际上在特定环境中是可行的解决方案。

对于像我这样发现具有类似要求和期望的线程的任何人,我希望节省一些时间。

答案 7 :(得分:0)

尝试

/miniconda3/bin/conda install python

python: 3.6.0-0 --> 3.6.1-2

/miniconda3/bin/conda install pandas

尝试使用Anaconda版本。

答案 8 :(得分:0)

不要使用conda或pip安装它,而是尝试使用软件包管理器安装它:

sudo apt-get install python3-pandas

答案 9 :(得分:0)

当我需要从Python 32位升级到64位以使用tensorflow时,我遇到了这个问题。

运行此命令卸载pandas 0.21并重新安装0.22:

pip install --upgrade pandas

排序。

答案 10 :(得分:0)

我在运行tox时遇到了完全相同的问题。

要解决的步骤:

  1. 更新setup.py以包含pandas==0.23.0(而不是0.21.0)。
  2. 删除.tox目录
  3. 再次运行tox

答案 11 :(得分:0)

升级pip为我解决了这个问题:

pip install --upgrade pip

答案 12 :(得分:0)

好的,我尝试了 20 多种不同的安装/卸载方式,但仍然无法正常工作。 (conda 和 pip、--force --upgrade、==THEGOODVERSION 等...)。

最后发现PATH不对...

Check this out if your out of options