You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入glumpy时触发numpy.bool属性错误,修改代码后问题仍未解决

导入glumpy时触发numpy.bool属性错误,修改代码后问题仍未解决

问题重现

我在激活clean-pvnet conda环境后执行import glumpy,触发了numpy的属性错误,完整报错信息如下:

>>> import glumpy

/home/mona/anaconda3/envs/clean-pvnet/lib/python3.10/site-packages/glumpy/gloo/variable.py:82: FutureWarning: In the future `np.bool` will be defined as the corresponding NumPy scalar.

gl.GL_BOOL         : ( 1, gl.GL_BOOL,         np.bool),

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

File "/home/mona/anaconda3/envs/clean-pvnet/lib/python3.10/site-packages/glumpy/__init__.py", line 7, in <module>

from . import app

File "/home/mona/anaconda3/envs/clean-pvnet/lib/python3.10/site-packages/glumpy/app/__init__.py", line 23, in <module>

from . console import Console

File "/home/mona/anaconda3/envs/clean-pvnet/lib/python3.10/site-packages/glumpy/app/console.py", line 7, in <module>

from glumpy import gl, glm, gloo

File "/home/mona/anaconda3/envs/clean-pvnet/lib/python3.10/site-packages/glumpy/gloo/__init__.py", line 7, in <module>

from . program import Program

File "/home/mona/anaconda3/envs/clean-pvnet/lib/python3.10/site-packages/glumpy/gloo/program.py", line 16, in <module>

from . variable import gl_typeinfo, Uniform, Attribute

File "/home/mona/anaconda3/envs/clean-pvnet/lib/python3.10/site-packages/glumpy/gloo/variable.py", line 82, in <module>

gl.GL_BOOL         : ( 1, gl.GL_BOOL,         np.bool),

File "/home/mona/.local/lib/python3.10/site-packages/numpy/__init__.py", line 324, in __getattr__

raise AttributeError(__former_attrs__[attr])

AttributeError: module 'numpy' has no attribute 'bool'.

`np.bool` was a deprecated alias for the builtin `bool`. To avoid this error in existing code, use `bool` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.bool_` here.

The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:

我尝试修改了/home/mona/anaconda3/envs/clean-pvnet/lib/python3.10/site-packages/glumpy/gloo/variable.py文件第82行,把np.bool替换为np.bool_,但即使打开新终端重新激活环境,再次执行import glumpy还是会报同样的错误。


问题分析与解决方案

出现这种情况,大概率是以下几个原因之一,你可以按步骤排查:

1. 确认修改的是Python实际加载的glumpy文件

有时候我们可能找错了文件路径,Python实际加载的glumpy可能不在我们修改的目录下。你可以先在激活环境的终端中执行以下命令,确认glumpy的真实安装路径:

conda activate clean-pvnet
python -c "import glumpy; print(glumpy.__file__)"

输出的路径就是glumpy的根目录,你需要修改这个路径下的gloo/variable.py文件,而不是凭记忆找的路径。

2. 检查glumpy中是否还有其他地方使用了np.bool

可能除了variable.py,glumpy的其他文件里也用到了np.bool,导致修改一处后仍然报错。你可以用搜索命令遍历整个glumpy目录,找出所有包含np.bool的文件:

grep -r "np.bool" /home/mona/anaconda3/envs/clean-pvnet/lib/python3.10/site-packages/glumpy/

把搜索结果中所有出现np.bool的地方,全部替换为np.bool_。

3. 清理Python字节码缓存

Python会把编译后的.pyc文件和__pycache__目录缓存起来,即使你修改了.py文件,旧的缓存文件可能还在被加载。你可以手动删除glumpy目录下的所有__pycache__文件夹:

find /home/mona/anaconda3/envs/clean-pvnet/lib/python3.10/site-packages/glumpy/ -name "__pycache__" -type d -exec rm -r {} +

或者直接删除对应文件的.pyc版本(比如variable.pyc)。

4. 验证修改是否生效

完成以上步骤后,在终端中重新激活环境,执行以下命令测试:

conda activate clean-pvnet
python -c "import numpy as np; from glumpy.gloo.variable import gl_typeinfo; print('修改成功,无报错')"

如果没有报错,说明修改已经生效,此时再执行import glumpy应该就能正常导入了。


备注:内容来源于stack exchange,提问作者Mona Jalal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 08:08:15