我有错误
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)
原文由 user8163730 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可能对 python2、python3 和不同的 python 虚拟环境 感到困惑。
在您的情况下,这是最可靠的来源
要升级/降级 numpy,您需要使用
pip
对应于您正在使用的python
。我认为您使用的是 python 2.7。四处寻找pip
对应于安装包的可执行文件/usr/local/lib/python2.7/dist-packages/pip
。这不是“正确”的方式,但它会起作用
python
将只对应于您正在使用的python解释器-m pip
将找到与您安装的 python 2.7 相对应的正确 pipnumpy==x.y.z
将强制降级现在,您可能会遇到权限问题,这些问题会诱使您使用
sudo
。在这一点上,您可以尝试添加--user
标志…但如果您真的必须使用 sudo,请考虑创建一个 virtualenv。 (请。)可能是正确的做法
其他人对此发表评论:也许您的索引实际上不是整数。
(相关: 切片索引必须是整数或 None 或具有 index 方法)
在您的代码中找到索引到列表中的位置,并确保它们实际上是整数。
继续添加这些类型断言,直到找到错误。