「已解决」KeyError: ‘getpwuid(): uid not found: 1004‘
#问题描述
docker中,调用pwd.getpwuid()出现报错:
Traceback (most recent call last):
...
File "/root/miniconda3/envs/octo/lib/python3.10/site-packages/etils/epath/backend.py", line 235, in stat
owner = pwd.getpwuid(st.st_uid).pw_name
KeyError: 'getpwuid(): uid not found: 1004'
问题是由于 Python 使用 pwd 模块在尝试获取用户ID (uid) 时,无法找到相应的用户。通常这是因为在某些运行环境中,特别是在Docker容器或某些Conda环境中,没有正确配置系统用户,或者用户ID在系统中不存在。
解决方案
使用该 uid 创建用户:
sudo useradd -u 1004 your_username