把本地脚本搬到华为云 AI DevSpace 上跑:一次完整记录

举报
yd_285939523 发表于 2026/10/29 22:26:57 2026/10/29
【摘要】 手上有一批平时用来整理数据的 Python 脚本,一直在本机跑。问题很具体:换台电脑就要重装一遍依赖,Python 版本不一致时还会报各种莫名其妙的错。趁着体验华为云 AI 开发者空间(AI DevS

手上有一批平时用来整理数据的 Python 脚本,一直在本机跑。问题很具体:换台电脑就要重装一遍依赖,Python 版本不一致时还会报各种莫名其妙的错。趁着体验华为云 AI 开发者空间(AI DevSpace),我把其中一个脚本完整搬上去跑了一遍,记录整个过程。

为什么要搬

本地跑脚本最麻烦的不是写代码,是维护环境。我遇到过几次:升级某个依赖后,原来能跑的脚本直接崩了,回滚又牵出一堆连带问题。DevSpace 提供的是一个开箱即用、随时可丢弃的云端环境,正好对上这个痛点——环境坏了换一个就行,不用再花时间救。

迁移过程

1. 建环境、装依赖

进入空间后先把项目骨架搭起来:

mkdir -p data-tools/{src,output}
cd data-tools
python3 -m venv .venv
source .venv/bin/activate
pip install pandas openpyxl

预置的工具链已经比较全,Python 和 pip 都是现成的,省掉了装解释器这一步。

2. 把脚本改成可配置

原来脚本里输入、输出路径都是写死的绝对路径,在云上肯定跑不通。改成用环境变量读取:

import os
from pathlib import Path

BASE = Path(os.getenv("DATA_DIR", "./data"))
OUT = Path(os.getenv("OUT_DIR", "./output"))
OUT.mkdir(parents=True, exist_ok=True)

这样同一份代码在本地和云上都能用,只是启动时传不同的变量。

3. 跑通并核对结果

export DATA_DIR=./samples
export OUT_DIR=./output
python src/merge.py

输出目录里生成了合并后的结果文件,用 head 抽查了几行,字段对齐正常,和本机跑出来的结果一致。

踩到的两个坑

第一个是路径分隔符。 脚本里有一处拼接了硬编码的反斜杠路径,在云环境的 Linux 下直接找不到文件。换成 pathlib 的 / 操作符之后就正常了,这也是后来我把所有路径处理都改成 Path 对象的原因。

第二个是中文文件名。 最初用普通方式读写入口文件,遇到中文名称的文件会静默失败——不报错,但就是读不出来,排查了半天才发现是编码问题。改成显式指定 UTF-8 编码后解决:

with open(path, encoding="utf-8") as f:
    raw = f.read()

实际体验下来的感受

省时间的是环境,不是算力。 日常量级的数据处理,感受不到性能差异,但省下的是装环境、修环境的那些时间,这部分是实打实的。

适合拿来做一次性的验证。 比如要试一个新库、跑一份临时数据,用完不用管,也不用担心污染本地环境。

要注意的是数据敏感性。 涉及个人隐私或业务数据的脚本,不建议直接搬到共用环境里跑,这个边界得自己把握。

小结

这次迁移本身没有技术难度,收益却很实在:一份脚本从此和环境解耦,到哪都能跑。如果你手上也有那种"只在自己电脑上能跑"的脚本,抽半小时搬到云上,后面会省心很多。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。