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

Ubuntu20.04中Python脚本添加numpy路径仍报错的排查与解决

问题分析与解决:Ubuntu 20.04 Python脚本添加numpy路径后导入失败

问题背景

在Ubuntu 20.04服务器上运行路径为/var/www/html/myfoo.py的Python脚本时,需要使用位于/home/namae/.local/lib/python3.8/site-packages的numpy模块。通过sys.path.append添加该路径后,导入numpy仍触发No module named 'numpy'错误。

排查过程记录

  • 尝试conda相关解决方案未成功
  • 当前Python解释器路径:sys.executable输出为/usr/bin/python3
  • 在工作目录执行ls -lsa $(which python),返回结果:
    4 -rw-r--r--  1 root root  123 Apr 26 00:53 myfoo.py
    

问题根源分析

从排查结果来看,$(which python)指向了当前目录下的myfoo.py而非系统Python解释器,说明脚本执行时可能调用了错误的执行入口;此外,服务器进程(如www-data用户)可能没有读取/home/namae/.local目录下文件的权限,导致添加的路径无法被识别。

已验证的解决方法

通过直接复制numpy模块到脚本所在目录解决了问题,执行命令:

sudo cp /home/namae/.local/lib/python3.8/site-packages/numpy* /var/www/html/

更规范的替代方案(可选)

若不想复制文件,可尝试以下方式:

  1. 指定正确的Python解释器:在脚本首行添加正确的shebang:
    #!/usr/bin/python3
    
    并赋予脚本执行权限:chmod +x /var/www/html/myfoo.py
  2. 设置PYTHONPATH环境变量:执行脚本前先配置环境变量:
    export PYTHONPATH="/home/namae/.local/lib/python3.8/site-packages:$PYTHONPATH"
    python3 /var/www/html/myfoo.py
    
  3. 调整目录权限:确保服务器进程有权限读取numpy所在目录:
    sudo chmod -R o+r /home/namae/.local/lib/python3.8/site-packages/numpy
    

内容的提问来源于stack exchange,提问作者ONamaeWa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:15:17