在 Ubuntu 下,“Python 权限”一般不是指 Python 本身的权限,而是执行 Python 脚本/访问文件/使用端口/虚拟环境时的权限问题。下面按常见情况给你说明。
如果你有一个脚本 test.py:
chmod +x test.py
然后可以直接运行(需要脚本第一行有 shebang):
#!/usr/bin/env python3
运行:
./test.py
例如绑定 80 端口、改系统文件:
sudo python3 app.py
⚠️ 不建议长期用 sudo 跑 Python,容易改坏系统。
报错类似:
PermissionError: [Errno 13] Permission denied
解决方式:
chmod 644 file.txt
chmod 755 dir/
sudo chown $USER:$USER file.txt
例如 /dev/ttyUSB0:
ls -l /dev/ttyUSB0
把自己加入 dialout 组:
sudo usermod -aG dialout $USER
然后注销或重启。
❌ 不推荐:
sudo pip install xxx
✅ 推荐用虚拟环境:
python3 -m venv venv
source venv/bin/activate
pip install xxx
或用户级安装:
pip install --user xxx
不能用普通用户直接 bind:
sudo setcap 'cap_net_bind_service=+ep' /usr/bin/python3
⚠️ 有安全风险,生产环境不建议。
which python3
ls -l $(which python3)
id
如果你能说具体报错信息或你想干什么(比如:运行脚本 / 装库 / 访问摄像头 / 起服务),我可以直接给你最合适的一条命令。