S3脚本运行报错:找不到文件或目录问题求助
问题排查方案
核心问题分析
错误信息明确显示找不到指定路径下的脚本文件,从命令行上下文能看出:
- 当前工作目录是
/Users/macbook/marketing-automation - 系统尝试查找的文件路径是
/Users/macbook/Desktop/marketing-automation/s3_uploader.py
两者路径不一致,说明脚本文件的实际位置和你运行命令时指定的路径不匹配。
具体解决步骤
确认脚本实际位置
在当前终端执行命令,列出当前目录下的文件:ls -l如果看不到
s3_uploader.py,说明脚本不在当前目录,执行全局搜索定位它的真实位置:find /Users/macbook -name "s3_uploader.py"修正运行命令
- 如果脚本确实在
Desktop/marketing-automation目录下,先切换到该目录再运行:cd /Users/macbook/Desktop/marketing-automation python s3_uploader.py - 如果脚本就在当前的
marketing-automation目录下,直接运行(不要带错误的路径前缀):python ./s3_uploader.py
- 如果脚本确实在
额外验证点
- 检查文件名拼写:确认文件名是
s3_uploader.py,没有大小写错误(MacOS文件系统默认不区分大小写,但命令行严格区分) - 虚拟环境状态:当前终端已激活
env虚拟环境,这部分无需调整
- 检查文件名拼写:确认文件名是
脚本功能优化(可选)
虽然当前错误和脚本功能无关,可以提前添加路径校验避免后续上传问题:
# 在调用upload_directory前添加目录存在性检查 gpt2_dir = os.path.join(current_dir, 'gpt-2') bert_dir = os.path.join(current_dir, 'bert') for dir_path in [gpt2_dir, bert_dir]: if not os.path.isdir(dir_path): print(f"警告:目录 {dir_path} 不存在,跳过上传") else: upload_directory(dir_path, bucket_name, os.path.basename(dir_path))
内容的提问来源于stack exchange,提问作者Divine
相关产品推荐
相关产品推荐

