【Python】新装python,非安装用户无法找到模块问题
前言
在 RedHat 7.6 系统上完成 Python 3.10 的部署工作后,发现低权限用户无法正常使用全局的模块。
报错信息如下:
Traceback (most recent call last):
File "/home/sms/sms_query/app.py", line 2, in <module>
from flask import Flask,jsonify,render_template,session
ImportError: cannot import name 'Flask' from 'flask' (unknown location)
原因分析
在安装 Python 3.10 时,通过以下命令指定了自定义的安装路径(prefix):
./configure --prefix=/usr/local/python310 --with-openssl=/usr/local/openssl --enable-optimizations
使用 python3 -m site
命令可以查看到 Python 包的路径:
sys.path = [
'/usr/local/python310/bin',
'/usr/local/python310/lib/python310.zip',
'/usr/local/python310/lib/python3.10',
'/usr/local/python310/lib/python3.10/lib-dynload',
'/usr/local/python310/lib/python3.10/site-packages',
]
USER_BASE: '/root/.local' (exists)
USER_SITE: '/root/.local/lib/python3.10/site-packages' (doesn't exist)
ENABLE_USER_SITE: True
进一步检查发现,低权限用户(如 sms 用户)无法访问 /usr/local/python310/lib/python3.10/site-packages/
这个路径,原因是该用户对该路径没有读取和执行权限。
解决方案
通过以下命令直接为低权限用户授予读取和执行权限即可解决问题:
chmod -R a+rX /usr/local/python310/lib/python3.10/site-packages/
本文来自:【Python】新装python,非安装用户无法找到模块问题-小码农,转载请保留本条链接,感谢!
温馨提示:
本文最后更新于 2025年03月06日,已超过 35 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
正文到此结束
- 本文标签: issue python redhat
- 本文链接: https://djc8.cn/archives/python-newly-installed-python-noninstalling-users-cannot-find-module-problems.html
- 版权声明: 本文由小码农原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
热门推荐
相关文章
该篇文章的评论功能已被站长关闭