python - 如何降级numpy?

标签 python numpy jupyter-notebook

我遇到错误

TypeError: slice indices must be integers or None or have an __index__ 
method

并搜索了解决方案,发现我需要降级 numpy 的版本,然后尝试使用此命令

python
import numpy 
numpy.__version__

得到了

>>> numpy.__version__
'1.14.5'

但是当我使用时

pip show numpy
Name: numpy
Version: 1.11.0
Summary: NumPy: array processing for numbers, strings, records, and 
objects.
Home-page: http://www.numpy.org
Author: NumPy Developers
Author-email: numpy-discussion@scipy.org
License: BSD
Location: /usr/local/lib/python3.4/dist-packages
Requires: 
Required-by: 

现在python使用的版本是什么?

命令

$ python3 -m pip --version
$ pip --version 
pip 18.0 from /usr/local/lib/python3.4/dist-packages/pip (python 3.4)

$ python -m pip --version
pip 18.0 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)

最佳答案

您可能对 python2、python3 和不同的 python virtual environments 感到困惑.

就您而言,这是最可靠的来源

$ python
>>> import numpy
>>> numpy.__version__
'1.14.5'

要升级/降级 numpy,您需要使用与您正在使用的 python 相对应的 pip。我认为你使用的是 python 2.7。在 /usr/local/lib/python2.7/dist-packages/pip 中查找与已安装包相对应的 pip 可执行文件。

这不是“正确”的方式,但它会起作用

python -m pip install numpy==x.y.z
  • python 将仅对应于您正在使用的 python 解释器
  • -m pip 将找到与您安装的 python 2.7 相对应的正确 pip
  • numpy==x.y.z 将强制降级

现在,您可能会遇到权限问题,从而诱使您使用 sudo。此时,您可以尝试添加 --user 标志...但如果您确实必须使用 sudo,那么请考虑创建一个 virtualenv。 (请。)

可能是正确的做法

其他人对此发表了评论:也许你的索引实际上不是整数。

(相关:Slice indices must be integers or None or have __index__ method)

查找代码中索引到列表的位置,并确保它们实际上是整数。

assert isinstance(a, int), 'a must be an int'
assert isinstance(b, int), 'b must be an int'
x = y[a:b]

继续添加这些类型断言,直到找到错误。

关于python - 如何降级numpy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51912284/

相关文章:

python - 递归抓取后没有抓取到数据

python - 堆叠相同数组列表时 numpy vstack/c_ 的奇怪行为

python - 将 python 函数广播到 numpy 数组

python - 如何将复数放入 numpy 的数组中?

python - Jupyter Notebook - 如何在主屏幕上隐藏除笔记本之外的所有内容?

python - 创建条形图,显示条形顶部的百分比变化

python - scikit-learn 中带有 LeaveOneOut 的 roc_auc 评分方法

python - 查找 USB 硬盘驱动器的挂载卷和挂载点

python-3.x - 如何使用 google colab 在文本单元格中插入变量

r - 使用带有 R 内核的 jupyter 笔记本,如何通过引用抑制更新 data.table 的打印结果?