【问题标题】:How to fix Python Numpy/Pandas installation?如何修复 Python Numpy/Pandas 安装?
【发布时间】:2012-09-08 08:30:01
【问题描述】:

我想在 Mac OS X 10.6.8 上安装 Python Pandas 库 (0.8.1)。这个库需要 Numpy>=1.6。

我试过了

$ sudo easy_install pandas
Searching for pandas
Reading http://pypi.python.org/simple/pandas/
Reading http://pandas.pydata.org
Reading http://pandas.sourceforge.net
Best match: pandas 0.8.1
Downloading http://pypi.python.org/packages/source/p/pandas/pandas-0.8.1.zip#md5=d2c5c5bea971cd760b0ae6f6850fcb74
Processing pandas-0.8.1.zip
Running pandas-0.8.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ckAMym/pandas-0.8.1/egg-dist-tmp-0mlL7t
error: Setup script exited with pandas requires NumPy >= 1.6 due to datetime64 dependency

所以我尝试安装 Numpy

$ sudo easy_install numpy
Searching for numpy
Best match: numpy 1.6.2
Adding numpy 1.6.2 to easy-install.pth file

Using /Library/Python/2.6/site-packages
Processing dependencies for numpy
Finished processing dependencies for numpy

所以我又试了一次

$ sudo easy_install pandas

但问题还是一样!

error: Setup script exited with pandas requires NumPy >= 1.6 due to datetime64 dependency

我运行 Python

$ python
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> np.__version__
'1.2.1'

所以 Numpy 1.6 似乎没有正确安装!

我尝试使用pip(而不是easy_install)安装 Numpy 1.6...

$ sudo pip install numpy
Requirement already satisfied (use --upgrade to upgrade): numpy in /Library/Python/2.6/site-packages
Cleaning up...

我添加了--upgrade 标志

$ sudo pip install numpy --upgrade
Requirement already up-to-date: numpy in /Library/Python/2.6/site-packages
Cleaning up...

$ sudo pip install pandas
Downloading/unpacking pandas
  Downloading pandas-0.8.1.zip (1.9MB): 1.9MB downloaded
  Running setup.py egg_info for package pandas
    pandas requires NumPy >= 1.6 due to datetime64 dependency
    Complete output from command python setup.py egg_info:
    pandas requires NumPy >= 1.6 due to datetime64 dependency

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build/pandas
Storing complete log in /Users/MyUsername/Library/Logs/pip.log

我还尝试安装二进制版本的 Numpy http://sourceforge.net/projects/numpy/files/ numpy-1.6.2-py2.6-python.org-macosx10.3.dmg 但它失败了!!! (安装人员说不能在这个磁盘上安装numpy 1.6.2。numpy需要python.org Python 2.6才能安装。

【问题讨论】:

  • 你以前安装过 numpy 吗?也许这把事情搞砸了。您应该尝试卸载 numpy,然后重新安装最新版本。
  • 我有一个以前的 Numpy 版本 1.2.1,但我不记得这个版本是如何安装的(来自源代码、easy_install、pip、二进制...)。非常奇怪的是我无法安装二进制文件(请参阅我刚刚编辑的帖子的最后一部分)
  • NumPy 1.2.1 安装在哪里 (import numpy as np; print np)?我建议使用像 EPDFree 或 Anaconda CE 这样的打包发行版,并尽可能避免使用 Apple 的系统 Python
  • >>> import numpy as np >>> np.__version__ '1.2.1' >>> print(np) <module 'numpy' from '/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/numpy/__init__.pyc'> 所以不知道是怎么安装的
  • 很好 Wes 建议我使用 EPD...我安装了 Academic 版本(它似乎比 EPD Free 更好)...$ sudo enpkg numpy 安装了我 numpy 但$ sudo enpkg pandas 返回@ 987654336@!!!

标签: python numpy pip pandas easy-install


【解决方案1】:

不知道你是否解决了这个问题,但将来是否有人遇到这个问题。

$python
>>import numpy
>>print(numpy)

转到打印的位置并删除在那里找到的numpy 安装。然后您可以使用pipeasy_install

【讨论】:

  • 这仍然适用于 Mavericks,只是想补充一点,我必须删除指示的文件夹并运行 pip uninstall numpy。然后运行pip install numpy 处理它。
  • 非常感谢!我不知道为什么我的默认 numpy 转到了非 Anaconda 版本,尽管 Anaconda 是我的默认 Python 版本...
  • 我不认为这个解决方案可以解决问题,因为它通常是没有正确设置 PATH 目录的情况。此外,此解决方案是特定于包的,对每个包执行相同的过程会很麻烦
  • pip install --force-reinstall numpy 也可以吗?
【解决方案2】:

我遇到了这个确切的问题。

问题是在默认的 mac 安装中有一个旧版本的 numpy,pip install pandas 首先看到了一个并且失败了——没有继续看到pip 自己有一个新版本安装。

如果您使用默认的 mac 安装,并且您已完成 pip install numpy --upgrade 以确保您是最新的,但由于旧的 numpypip install pandas 仍然失败,请尝试以下操作:

$ cd /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/
$ sudo rm -r numpy
$ pip install pandas

现在应该安装/构建 pandas。

要检查我们所做的工作,请执行以下操作:启动 python,然后 import numpyimport pandas。运气好的话,numpy.__version__ 将是 1.6.2(或更高),pandas.__version__ 将是 0.9.1(或更高)。

如果您想查看 pip 将它们放在(找到!)它们的位置,只需 print(numpy)print(pandas)

【讨论】:

  • 从 /System 中删除东西是个坏主意。
  • @rspeer -- 当然,但您还有什么建议? OP 询问他如何绕过 pandas 安装程序正在查找旧版本的 numpy 的事实——这解决了这个问题。
  • 如果你的“唯一选择”是从系统中删除东西,那么你应该安装一个非系统python(除非你真的知道你在做什么,包括苹果未来更新的风险破坏东西)。然而,正如@sjs 的回答所展示的,这不是这里唯一的选择。
  • 在我的新 10.8.2 / dev 熊猫上,这不是问题。自从破解了我的 10.7.x 笔记本电脑以这种方式工作以来,我的笔记本电脑没有任何问题。
  • 始终可以选择移动/重命名文件以将其删除。
【解决方案3】:

我与创建Anaconda Python 的人一起工作。您可以安装多个版本的 python 和 numpy,而不会损坏您的系统 python。它是免费和开源的(OSX、linux、Windows)。付费包是免费版本之上的增强功能。包括熊猫。

conda create --name np17py27 anaconda=1.4 numpy=1.7 python=2.7
export PATH=~/anaconda/envs/np17py27/bin:$PATH

如果你想要 numpy 1.6:

conda create --name np16py27 anaconda=1.4 numpy=1.6 python=2.7

设置你的 PATH 设置在哪里可以找到 python 和 ipython。环境 (np17py27) 可以任意命名。

【讨论】:

  • 我在使用 Anaconda 和多个版本的 Python 时度过了一段糟糕的时光——它改变了我的默认 Python 发行版并弄乱了每个版本中的依赖关系。我会尝试手动安装它。
  • 很抱歉发生了这种情况。搞乱依赖是什么意思?您应该能够卸载 Anaconda(它只是一个目录)以撤消任何更改。安装程序应该询问您是否要将其设为您的 shell 的默认值。在 OSX 或 Linux 上,它通过将 PATH 添加到 ~/.bash_profile 来实现。
【解决方案4】:

这对我在 10.7.5 下使用 Enthought 的 EPD_free-7.3-2 有效:

免费安装 EPD,然后按照以下链接中的步骤创建 .bash_profile 文件。

http://redfinsolutions.com/blog/creating-bashprofile-your-mac

并将以下内容添加到文件中。

PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:$(PATH)}"
export PATH

在终端中执行以下命令

$ sudo easy_install pandas

完成后,启动 PyLab 并输入:

In [1]: import pandas

In [2]: plot(arange(10))

这应该会打开一个带有对角直线的图。

【讨论】:

    【解决方案5】:

    如果您像我一样不喜欢删除标准系统安装中的内容(其他人建议),那么您可能会喜欢我最终使用的解决方案:

    1. 获取Homebrew - 这是一个可以安装的单行shell脚本!
    2. 编辑您的.profile 或任何适当的内容,并将/usr/local/bin 放在开头 您的PATH 以便在系统二进制文件之前找到Homebrew 二进制文件
    3. brew install python - 这会在 /usr/local 中安装更新版本的 python
    4. pip install pandas

    这在 OS X 10.8.2 中对我有用,但我看不出它在 10.6.8 中不适用的任何原因。

    【讨论】:

      【解决方案6】:

      您的系统上可能安装了另一个 Numpy 版本, 如果您的发行版不支持,请尝试查询您的 numpy 版本并检索它。
      aka debian/unbuntu/Mint 版本主要可以从 dpkg 包管理器中查询: dpkg --get-selections | egrep -i "numpy",您可以看到实际的 Numpy 版本。

      • 有些拥有 apt 的用户可以通过执行以下操作要求删除它:apt-get remove numpy。

      • 有些发行版如 Fedora、RedHat 和任何 RedHat 模型下的兼容发行版也可以使用 rpm 来查询安装。

      • 这是通过告诉 Numpy 安装程序在当前的/usr/local/lib/python[VERSION]/dist-packages over Linux env 和c:[...]\python[VERSION]\site-packages for windows 上安装自身而发生的。在 /usr/local/python[VERSION]/dist-packages 中可能安装了 Numpy 的一个版本,这个版本将首先被实例化。

      • .pth 文件包含有关特定 python 模块路径位置的信息,但是从包中删除组件可能会损坏它...

      小心,你将不得不删除包和它的所有依赖......在某些情况下真的很痛苦。

      访问lunchad.net 可能会节省您的时间,有时他们会从某些软件包中获得新版本。

      【讨论】:

        【解决方案7】:

        我遇到了同样的问题,就我而言,问题是 python 在一些有序的位置寻找包,首先是默认旧包所在的默认计算机。

        要检查你的 python 正在寻找什么,你可以这样做:

        >>> import sys
        >>> print '\n'.join(sys.path)
        

        这是在 pip 或 brew 或 port 文件夹之前输出目录“/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python”。

        简单的解决办法是:

        export PYTHONPATH="/Library/Python/2.7/site-packages:$PYTHONPATH"
        

        这对我来说效果很好,我建议您下次将此行添加到您的家庭 bash_profile 文件中。 请记住,sys.path 是使用当前工作目录构建的,然后是 PYTHONPATH 环境变量中的目录。然后是依赖安装的默认目录。

        【讨论】:

          【解决方案8】:

          如果您使用的是 enthought python (EPD) 版本,您可能希望直接转到您的站点包并重新安装 numpy。 然后尝试使用 pip 安装 pandas。您必须为此修改安装前缀。

          如果问题仍然存在(就像我一样),请尝试下载 pandas tar 球,将其解压缩到您的站点包中,然后从您的 pandas 目录运行 setup.py install

          如果您的依赖项正确,您可以导入 pandas 并检查它是否顺利导入。

          【讨论】:

            【解决方案9】:

            与几乎所有其他 Python 软件包一样,安装 Pandas 的最简单方法是使用 pip。

            许多包(包括 Pandas)需要编译器和一堆第三方 DLL,许多 Windows 用户不知道如何处理。这正是创建“wheel”格式的原因:因此包可以上传预构建的二进制文件。

            并不是每个项目都为 Windows 预先构建了二进制轮子。但是您可以查看 Christoph Gohlke 的网站并找到所有最受欢迎的轮子。只需按照该页面上的说明下载轮文件并使用 pip 安装即可。

            但对于 Pandas,您不必这样做。他们的下载页面上有轮子,并上传到 PyPI。文档告诉您使用这些。 (嗯,它首先建议你使用 Anaconda/Miniconda,但如果你想要一个普通的 Python,请使用 pip 和 PyPI 上的包。)它对我有用......在 windows 7 64 位,python 3.4

            【讨论】:

              【解决方案10】:

              对我来说真正有用的是在这样的虚拟环境中安装 pandas:

              // create your virtualenv folder
              python3 -m venv your-virtualenv-folder
              
              
              // activate your virtualenv folder
              source your-virtualenv-folder/bin/activate
              
              // install pandas on your new virtualenv folder
              python -m pip install pandas
              
              // run your python file
              python index.py
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2017-06-29
                • 2015-08-03
                • 2015-09-21
                • 2014-01-05
                • 1970-01-01
                • 1970-01-01
                • 2017-06-26
                相关资源
                最近更新 更多