35岁Java程序员学AI Day2:从装环境到写第一行Python,踩了3个坑

35岁Java程序员学AI Day2:从装环境到写第一行Python,踩了3个坑

昨天发了第一篇文章,说了我要用90天转型AI应用开发。今天Day 2,第一步------把Python环境搭起来。

说实话,在这之前我一直觉得Python跟我不搭边------我写了快十年Java,Spring Boot那套用得飞起,IntelliJ IDEA是我的第二个家。但真正研究AI应用开发才发现,Python是这个领域的"普通话"。大模型的SDK、LangChain、向量数据库客户端,几乎全是Python优先。你硬要用Java调也能调,但就像去法国旅游非要讲日语------能活着回来,一路上全是障碍。

所以今天,我从零开始装Python环境。

一、装Python:比装JDK简单,但有个坑

Java程序员装环境的第一反应:去哪下载?要不要配环境变量?有没有类似JDK的东西?

Python比JDK简单太多了。直接去 python.org 下载安装包,Windows双击下一步就行。版本我选了 Python 3.13.15------最新的是 3.14.7 但才发布 9 天,AI 生态还没适配完,老老实实用稳定版。

但有一个坑,我差点踩了。

安装界面第一个页面,底部有个复选框 "Add Python to PATH" 。这个框默认不勾。如果你不勾,装完在命令行敲 python 会提示"不是内部或外部命令"------跟当年Java装完忘配 JAVA_HOME 一模样。

我习惯性地一路下一步,差点跳过。还好多看了一眼,勾上了。

css 复制代码
✅ Add Python to PATH    ← 务必勾上!

装完按 Win+R 输 cmd 打开命令行,验证一下:

vbnet 复制代码
C:\Users\Administrator> python --version
Python 3.13.15
​
C:\Users\Administrator> pip --version
pip 25.x from C:\Python313\Lib\site-packages\pip (python 3.13)

看到版本号,环境就算通了。对比一下Java:装JDK → 配JAVA_HOME → 配PATH → 配CLASSPATH → 验证java -version。Python一个勾就搞定了。

二、pip:Python的Maven,但更轻

Java用Maven或Gradle管理依赖,需要写一个pom.xml或build.gradle。Python用pip,直接命令行装,不用写配置文件。

ini 复制代码
# 装一个库
pip install requests
​
# 装指定版本
pip install requests==2.31.0
​
# 看装了哪些
pip list
​
# 卸载
pip uninstall requests

第一次用的时候我本能地去找"pip的配置文件在哪"------习惯了Maven的pom.xml,总觉得得有个文件管理依赖。结果发现不需要,直接命令行敲就行。

后来想想,这种方式适合快速验证想法,但项目大了依赖管理会乱。所以Python有个 requirements.txt,相当于简化版的pom.xml:

bash 复制代码
# 把当前环境的依赖导出
pip freeze > requirements.txt
​
# 别人拿到项目后一键安装
pip install -r requirements.txt

一个国内必做的配置:pip默认从国外源下载,速度感人。换成国内镜像,下载速度从KB/s到MB/s:

arduino 复制代码
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

这条命令一劳永逸,以后所有pip install都走清华源。这就跟Maven配阿里云镜像一个道理。

三、虚拟环境:Java里没有的东西

这是Java程序员最容易跳过的一步------因为Java里没有这个概念。

Java的做法是:一个项目用一套依赖,Maven帮你管理版本冲突。Python不一样------所有项目的依赖默认装在全局,项目A要requests 2.28,项目B要requests 2.31,就打架了。

解决方案是虚拟环境(venv)。每个项目建一个独立的Python环境,互不干扰。

bash 复制代码
# 在项目目录下创建虚拟环境
python -m venv venv
​
# 激活(Windows)
venv\Scripts\activate
​
# 激活后命令行前面会出现 (venv) 标识
# 这时再 pip install 就是装到这个虚拟环境里,不影响全局

第一次看到这个我有点抵触------太麻烦了,我就学个Python调个API,搞什么虚拟环境?

后来想通了:这跟Java里每个项目有自己的pom.xml是同一个道理,只是实现方式不同。Java是Maven帮你隔离,Python是venv帮你隔离。现在养成习惯,每个项目先建venv再装依赖。

PyCharm会自动帮你处理这件事------创建项目时勾选"New environment using Virtualenv",IDE自动建好,你不用手动敲命令。

四、IDE:直接上PyCharm,别犹豫

我试了VS Code,也试了Jupyter Notebook,最后还是选了PyCharm。

原因很简单------我用了十年IntelliJ IDEA,PyCharm是同一家公司(JetBrains)出的,快捷键几乎一样,界面布局一样,调试方式一样。从IDEA切到PyCharm,零学习成本。

对比项 PyCharm VS Code
上手成本 IDEA用户零成本 需要装Python插件
代码补全 够用
调试器 跟IDEA一样 稍弱
启动速度
免费 Community版免费 免费

如果你也用IDEA,直接装PyCharm Community版,别浪费时间纠结。

五、PyCharm建项目时踩的坑

环境装好了,IDE也开了。本以为建个项目是顺手的事,结果又踩了两次坑。

坑1:第一次建项目结构不对。

我第一次随手点了个目录打开 PyCharm,结果左侧项目树只显示 "External Libraries" 和 "Scratches and Consoles",没有项目文件夹。运行 Python 脚本时报错 "Python interpreter is not selected"------因为根本没有解释器配置。

正确做法 :用 File → New Project 建项目,不要直接打开一个空目录。

坑2:项目路径有中文。

我建项目时随手填了个路径 E:\MyJava\代码库\PythonProject,项目能建出来,但虚拟环境创建的时候偶尔报奇怪的编码错。后来查了下,Python 对中文路径支持不好,跟 Java 里也建议纯英文路径一个道理。

改成

复制代码
✅ E:\PythonProjects\hello-python

路径不要带中文和空格。 这个跟 Java 项目的最佳实践一样,纯英文路径最稳。

坑3:选 Project venv 还是 uv?

PyCharm 新建项目有四个选项:

选项 含义
Project venv Python 自带虚拟环境
uv 新的 Python 包管理器(速度快)
Base conda 用 conda 管环境(需要先装)
Custom environment 用已有的 Python 环境

我选了 Project venv------uv 虽然新潮,但网上 90% 的教程都是基于 venv 的,出问题好搜答案。学新东西时,跟大部队走最稳。

六、跑通第一行代码

环境建好了,写第一行代码验证:

python 复制代码
print("Hello, Python! 我来了。")
​
# 试试Java程序员最熟悉的操作
name = "Java"
years = 10
print(f"我写了{years}年{name},今天开始学Python。")

右键编辑器 → Run 'hello'(或者按 Shift+F10,跟 IDEA 一样),控制台输出:

vbnet 复制代码
Hello, Python! 我来了。
我写了10年Java,今天开始学Python。

Process finished with exit code 0

看到 Process finished with exit code 0 那一刻,感觉跟十年前第一次在 Eclipse 里跑出 Hello World 一模一样。

七、几个Java程序员不习惯的语法

环境跑通后,我花了一个下午过了 Python 核心语法。有 Java 基础,语法层面很快,但有几个地方真的不习惯。

没有分号,但缩进要命。

Java 里缩进是风格问题,你缩 4 格还是 8 格编译器不在乎。Python 里缩进是语法------缩错一格直接报错。

arduino 复制代码
// Java
if (ready) {
    System.out.println("go");
}
bash 复制代码
# Python
if ready:
    print("go")

看着简单,但嵌套三四层的时候,少缩一格就是另一个世界的入口。我就因为多了一个空格 Debug 了好几分钟。

变量不用声明类型。

Java 写了十年,手已经形成了肌肉记忆:int x = 1;。到了 Python 变成 x = 1。刚开始老忍不住加类型声明,删了又加,加了又删。

后来想想,这是 Python 的设计哲学------类型不重要,行为才重要。写惯了强类型语言,一开始确实没有安全感。但快速验证想法的时候,少写类型声明真的快很多。

列表推导式,真香。

Java 里把列表每个元素乘以 2:

ini 复制代码
List<Integer> result = new ArrayList<>();
for (Integer x : list) {
    result.add(x * 2);
}

Python 一行:

ini 复制代码
result = [x * 2 for x in list]

用了两次就不想回去了。

没有深入,但够用了

说实话,Day 2 我没有把 Python 学多深。装饰器只是理解了原理,面向对象快速过了(跟 Java 的 class 差不多,区别是没有 private 关键字,靠约定------变量名前加下划线表示"私有")。

我的目标不是成为 Python 专家,而是尽快能调用大模型 API。就像学开车------你不需要懂发动机原理,你需要的是能把车开上路。

周末我打算直接上手调大模型 API,用 Python 调通义千问的接口,让它返回一句话。这才是学 Python 的真正目的。等到调通 API 那一刻,Python 对我来说就不是"另一门语言"了,而是"干活的工具"。

给同样想转 AI 的 Java 程序员的建议

  1. 装 Python 时务必勾选"Add Python to PATH" ------少走一步弯路
  2. pip 换国内源------不换的话下载速度会让你怀疑人生
  3. 项目路径不要有中文------Python 对中文路径支持不好,跟 Java 一个道理
  4. 每个项目建虚拟环境------别嫌麻烦,跟 Maven 管依赖一个道理
  5. IDE 直接上 PyCharm------IDEA 用户零学习成本,别浪费时间纠结
  6. 语法别从头学------找一篇"Java vs Python 语法对照",半小时过完核心差异
  7. 任务驱动------别"学完再做",直接定一个小任务(比如"调一个 API"),遇到不会的就查

35岁Java程序员的90天AI转型实验,Day 2。 环境搭好了,Hello World 跑通了,下一步:用 Python 调通第一个大模型 API。 关注我,见证过程。

相关推荐
zhiSiBuYu05171 小时前
Flask Session 与 Cookie 新手实战指南
后端·python·flask
码云骑士1 小时前
104-实战论文搜索引擎-ArXiv爬取-Milvus存储-RAG问答-Gradio前端
前端·python·搜索引擎·milvus
比高创意品牌策划设计1 小时前
零售卖场门头设计怎么做才显眼
python
鬼手点金2 小时前
Scrapy + Playwright 完整示例(JS 动态渲染网页)
开发语言·javascript·爬虫·python·scrapy·html·json
存在morning2 小时前
【Python 开发实践 一】Python vs Go vs Java 三门语言对比
java·python·golang
vx-程序开发2 小时前
springboot旅游推介平台---附源码24175
java·spring boot·python·spring cloud·eclipse·django·idea
心运软件2 小时前
基于深度学习的宝石图像分类系统
人工智能·python·深度学习·机器学习·分类·数据挖掘
一木 之林2 小时前
AI实战 : Numpy图像处理与深度学习框架
python
c_lb72882 小时前
零基础选策略工具,先分清三件事
人工智能·python