赛车模拟器运行报错:No module named 'numpy.core._multiarray_umath'
问题核心原因
你的项目根目录下的library文件夹内自带了一份NumPy副本,Python导入模块时会优先读取这个路径下的NumPy,而非你安装到系统全局/用户目录的NumPy。这份自带的NumPy的C扩展没有针对WSL Ubuntu的Python3.8环境编译,因此导入失败,你之前重装系统级NumPy的操作自然不会生效。
可行解决方案
- 第一步:删除项目自带的损坏NumPy副本
直接删除路径为/mnt/c/Users/seb/documents/Racecar/racecar-seb-h-s/library/numpy的整个文件夹 - 第二步:安装适配当前环境的NumPy
执行以下命令安装对应版本的NumPy:
也可以用系统源安装适配版本:pip3 install numpy==1.21.2sudo apt update && sudo apt install -y python3-numpy - 第三步:验证导入路径是否正确
在项目的labs目录下执行命令:
输出路径如果是python3 -c "import numpy; print(numpy.__file__)"/home/seb/.local/lib/python3.8/site-packages/numpy/__init__.py或者系统级dist-packages下的路径,即代表配置正确,此时再运行你的项目代码即可。 - 临时应急方案(如果不想删除项目自带的NumPy):
运行代码时手动指定优先加载系统站点包路径:PYTHONPATH=/home/seb/.local/lib/python3.8/site-packages:/usr/lib/python3/dist-packages python3 demo.py
内容的提问来源于stack exchange,提问作者AssaahhDudeImChad
相关产品推荐
相关产品推荐

