【问题标题】:How to solve import error for pandas?如何解决熊猫的导入错误?
【发布时间】:2015-08-25 23:44:43
【问题描述】:

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

以前有没有人遇到过这个问题并找到了解决方案?

【问题讨论】:

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


    【解决方案1】:

    所以您可能遇到的另一个问题是我的情况: 您的系统上可能在不同位置有多个 Python 版本因此,即使您已将所有内容都安装为最新的 pip,它也可能会尝试解释尚未应用该 pip 更新的版本。

    因此,在您的 IDE 中使用 Visual Studio Code,检查以确保您使用的是正确的 Python 解释器。

    在 VS Code 中,您可以通过单击底部蓝色条左侧的 Python 来找到它。如果出现多个解释器,您可能需要使用这些路径并卸载所有其他路径以消除混淆。

    【讨论】:

      【解决方案2】:

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

      最后我发现我的PATH错了……

      【讨论】:

        【解决方案3】:

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

        pip install --upgrade pip

        【讨论】:

          【解决方案4】:

          我现在在使用 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
          

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

          【讨论】:

            【解决方案5】:

            我尝试了上述所有解决方案,但没有任何效果......

            错误信息

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

            祝你好运!

            【讨论】:

              【解决方案6】:

              实际上,在以下环境中,这些答案都不适合我:

              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中提到的

              我尝试了这里提到的所有解决方案,除了公认的答案,也是因为 a) 我不希望在 web 生产环境中使用 anaconda,b) 这不是为架构构建框架或 cli 解决方案的好答案,其中 a包不独立使用...

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

              对于像我这样有类似要求和期望的人,我希望能节省一些时间。

              【讨论】:

                【解决方案7】:

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

                解决步骤:

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

                【讨论】:

                  【解决方案8】:

                  我无法使用常规升级 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
                  

                  彻底解决问题

                  【讨论】:

                  • 这也为我工作,我正在研究一个虚拟环境。谢谢
                  【解决方案9】:

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

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

                  pip install --upgrade pandas

                  已排序。

                  【讨论】:

                    【解决方案10】:

                    我在使用 python 2.7.13 时遇到了这个问题 这是我的解决方案: 1. 安装 Cython 与

                    pip install Cython
                    

                    2。安装 g++ 和 gcc

                    apt-get install gcc, g++
                    

                    3。卸载熊猫

                    pip uninstall pandas
                    

                    4。重新安装熊猫

                    pip install pandas
                    

                    那么一切都会好起来的。

                    【讨论】:

                      【解决方案11】:

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

                      sudo apt-get install python3-pandas

                      【讨论】:

                        【解决方案12】:

                        试试

                        /miniconda3/bin/conda install python
                        
                        python: 3.6.0-0 --> 3.6.1-2
                        

                        /miniconda3/bin/conda install pandas
                        

                        尝试使用您的 Anaconda 版本。

                        【讨论】:

                          【解决方案13】:

                          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

                          【讨论】:

                          • 我实际上不能使用 conda,因为我所处的业务环境不允许代理。
                          • 奇怪的是我可以在 python 提示符下运行“import pandas”,但是当我尝试执行一个包含“import pandas”的文件时会导致错误。
                          • c文件是未编译的,所以你必须构建pandas
                          • 好的大更新。我意识到我可以在某些目录中使用“import pandas”编译文件,但不能在其他目录中编译文件……有什么想法吗?
                          • 能否提供目录结构?
                          【解决方案14】:

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

                          你可以输入

                          locale
                          

                          在终端中检查本地环境变量。

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

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

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

                          【讨论】:

                            猜你喜欢
                            • 2018-08-24
                            • 2023-04-01
                            • 2020-09-25
                            • 2015-06-10
                            • 2020-01-07
                            • 1970-01-01
                            • 2018-12-27
                            • 1970-01-01
                            相关资源
                            最近更新 更多