乐于分享
好东西不私藏

OpenSees学习日记 02|从零安装 OpenSeesPy:Anaconda + VS Code 保姆级配置

OpenSees学习日记 02|从零安装 OpenSeesPy:Anaconda + VS Code 保姆级配置
上一篇简单说了为什么我准备使用 OpenSeesPy。
这一篇终于开始真正动手。
如果你和我一样:
OpenSees 刚入门;
Python 也没有系统学过;
不知道 Anaconda 是什么;
不知道 VS Code 和 Python 到底是什么关系;
网上看到 pip install openseespy 也不知道应该输入在哪里;
那么这一篇就是从最开始讲。
我们的目标只有一个:

最后能够在 VS Code 中新建一个 .py 文件,并成功运行 OpenSeesPy。


一、我们今天到底要安装哪些东西?

一共三个主要软件/工具:

1. Anaconda

主要负责:
管理 Python 和 Python 环境。
今天我们会通过 Anaconda Navigator 创建一个专门用于 OpenSeesPy 的 Python 环境。

2. OpenSeesPy

它不是一个我们双击打开的软件。
OpenSeesPy 是安装在 Python 环境里面的一个包。
以后代码中通过:
import openseespy.opensees as ops
调用 OpenSees。

3. Visual Studio Code

也就是:
VS Code
这是以后我们真正写 Python / OpenSeesPy 程序的地方。
可以先把三者理解成:
Anaconda
负责创建和管理 Python 环境
OpenSeesPy
安装在这个 Python 环境里面
VS Code
我们真正写代码、运行代码的地方
所以今天完整的安装流程是:
下载安装 Anaconda
下载安装 VS Code
Anaconda Navigator 创建 Python 环境
在该环境安装 OpenSeesPy
VS Code 安装 Python 扩展
VS Code 选择刚才的 Anaconda 环境
创建 test_opensees.py
运行成功
下面一步一步来。

二、第一步:下载 Anaconda

打开浏览器。
搜索:
Anaconda Download
认准 Anaconda 官方网站:anaconda.com
进入 Anaconda Distribution 下载页面。
如果使用普通 Windows 电脑,一般下载:
Windows64-Bit Graphical Installer
也就是 Windows 64 位图形安装程序。
下载以后会得到类似:
Anaconda3-xxxx-Windows-x86_64.exe
的安装文件。

三、第二步:安装 Anaconda

双击刚才下载的安装程序。
基本流程就是:
Next
I Agree
Just Me
选择安装路径
Install
Finish
对于个人电脑,我选择:
Just Me
即可。

四、Anaconda 安装路径怎么选?

这里我建议小白稍微注意一下。
安装路径尽量:
全英文
路径简单
尽量不要出现中文
尽量不要出现特殊字符
例如可以:
D:\Anaconda3
或者使用默认路径。
不建议第一次学 Python 就搞特别复杂的路径,例如:
D:\我的软件\科研软件\Python环境\Anaconda
后面如果遇到环境、路径之类的问题,排查起来会更加麻烦。
安装完成以后,在 Windows 开始菜单搜索:
Anaconda Navigator
能够正常打开,就说明第一步完成。

五、第三步:下载 VS Code

接下来不要急着装 OpenSeesPy。
我们把以后真正写程序的软件也安装好:
Visual Studio Code。
注意:
Visual Studio Code 和 Visual Studio 不是同一个软件。
我们今天下载的是:
Visual Studio Code
简称:
VS Code
打开浏览器搜索:
VS Code Download
认准官方网站:
code.visualstudio.com
进入以后选择:
Download for Windows
对于普通 Windows 用户,官方推荐使用 User Setup 安装程序。
下载以后文件一般类似:
VSCodeUserSetup-x64-x.xx.x.exe

六、第四步:安装 VS Code

双击刚才下载的:
VSCodeUserSetup-xxxx.exe
开始安装。
基本按照默认设置继续即可。
出现:
I accept the agreement
勾选,然后:
Next
选择安装位置。
对于小白来说,VS Code 默认安装位置就可以,不需要专门修改。
后面如果看到类似:
Add to PATH
可以保持安装程序默认配置。
然后继续:
Next
→ Install
→ Finish
安装完成。

七、第一次打开 VS Code

在 Windows 开始菜单搜索:
Visual Studio Code
点击打开。
第一次打开可能会发现:
左边一排图标,
中间一个欢迎页面,
界面看起来好像很复杂。
先不用管。
现阶段我们真正需要认识的只有几个地方:
左侧文件图标:管理代码文件
左侧四个方块图标:Extensions 扩展
上方菜单 Terminal:打开终端
右下角 Python:选择 Python 环境
右上角 ▶:运行 Python 文件
后面都会用到。

八、第五步:在 Anaconda 中创建 OpenSeesPy 环境

重新打开:
Anaconda Navigator
左侧点击:
Environments
这里会看到一个:
base (root)
这个是 Anaconda 默认的基础环境。
我不建议直接把所有东西都装到 base 里面。
我们单独给 OpenSeesPy 建立一个环境。
点击:
Create

九、环境名称和 Python 版本怎么选?

弹出的窗口中:
Name 输入:
openseespy312
Python 版本:
3.12
然后:
Create
为什么我这里选择 3.12?
目前 OpenSeesPy 3.8.0.0 支持 Python 3.10 及以上版本。
我们这里为了统一教程环境,直接使用:
Python 3.12
并不是说其他所有版本都不能用。
而是:

后面的教程全部按照同一个 Python 3.12 环境进行,减少因为版本不同产生的问题。

等待环境创建完成。
左边应该能看到:
base (root)
openseespy312

十、这里一定要理解“环境”是什么意思

这可能是今天最重要的一个概念。
你可以把每一个 Python 环境想象成一个独立的房间。
例如:
base
是一个房间。
openseespy312
又是另一个房间。
我们马上把 OpenSeesPy 安装到:
openseespy312
里面。
以后 VS Code 也必须进入:
openseespy312
这个房间。
否则就容易出现一个非常经典的问题:

我明明安装 OpenSeesPy 了,VS Code 为什么说没有?

因为:
你把 OpenSeesPy 放在 A 房间,但是 VS Code 跑到了 B 房间。
理解这一点以后,很多 Python 环境问题其实就没有那么神秘了。

十一、第六步:在这个环境里面安装 OpenSeesPy

在 Anaconda Navigator 中:
选中:
openseespy312
点击环境名称右侧的小三角。
选择:
Open Terminal
打开以后会出现一个黑色窗口。
不要害怕。
看看最左边有没有:
(openseespy312)
例如:
(openseespy312) C:\Users\xxx>
如果有:
说明你现在就在正确的 Python 环境里面。

十二、先检查 Python

输入:
python --version
然后按 Enter。
正常情况下应该看到类似:
Python 3.12.x
例如:
Python 3.12.10
只要主要版本是:
3.12
即可。

十三、第七步:安装 OpenSeesPy

继续在当前黑色窗口输入:
python -m pip install openseespy
然后:
Enter
开始下载。
可能会看到很多英文。
不用看到英文就认为报错了。
安装过程中出现:
Collecting openseespy
是正常的。
最后如果出现类似:
Successfully installed ...
而且里面包含:
openseespy
说明安装成功。

十四、为什么我不用简单的 pip install?

你会发现很多教程写:
pip install openseespy
这个其实也可以。
但我更推荐小白使用:
python -m pip install openseespy
因为这样更加明确:

让当前这个 Python 去调用它自己的 pip 安装软件包。

这样可以减少:
pip 是一个环境
Python 又是另外一个环境
之类的问题。

十五、第八步:先在 Anaconda 环境中测试一次

安装完成后输入:
python
按 Enter。
出现:
>>>
说明进入 Python。
然后输入:
import openseespy.opensees as ops
按 Enter。
如果:
没有任何报错
就是好事。
继续输入:
print(ops.version())
如果能够输出一个 OpenSees 版本号:
说明 OpenSeesPy 本身已经安装好了。
输入:
exit()
退出 Python。

十六、到这里为什么还不能直接开始?

因为我们目前只是证明:

Anaconda 里面的 OpenSeesPy 可以运行。

但是以后我们显然不可能一直在这个黑色 Terminal 里面一行一行敲代码。
接下来终于进入真正要用的:
VS Code

十七、第九步:给 VS Code 安装 Python 扩展

打开:
Visual Studio Code
找到左侧:
Extensions
图标大概是几个小方块。
也可以直接按:
Ctrl + Shift + X
打开扩展页面。
在上面的搜索框输入:
Python
会出现很多扩展。
这里不要乱装。
找到:
Python
发布者认准:
Microsoft
点击:
Install
为什么需要它?
因为:
VS Code 本身只是一个代码编辑器。
安装 Python 扩展以后,它才知道:
.py 是 Python 文件;
Python 代码应该怎么运行;
Python 环境在哪里;
怎么选择 Interpreter;
怎么调试 Python 程序。
所以:
VS Code ≠ Python
而是:
VS Code
+
Python 扩展
+
Python Interpreter
三个东西一起工作。

十八、第十步:建立我们的 OpenSeesPy 学习文件夹

先在电脑上建立一个文件夹。
例如:
D:\OpenSeesPy_Learning
建议:
英文路径
以后我们的练习程序都放这里。
例如以后可能变成:
OpenSeesPy_Learning
├─ 01_Hello_OpenSees
├─ 02_Node
├─ 03_Element
├─ 04_Material
└─ 05_Analysis
刚开始先不用这么复杂。
目前一个总文件夹即可。

十九、第十一步:在 VS Code 打开这个文件夹

VS Code 顶部点击:
File
然后:
Open Folder
选择:
D:\OpenSeesPy_Learning
点击:
Select Folder
为什么建议:
Open Folder
而不是随便打开一个 .py 文件?
因为后面一个 OpenSees 模型可能不仅仅有一个文件。
可能还有:
地震波文件
材料参数
输出结果
图片
Excel
Python子程序
所以最好从一开始就养成:

一个项目对应一个文件夹。


二十、第十二步:新建第一个 Python 文件

左边 Explorer 文件区域找到:
New File
新建:
test_opensees.py
注意后缀:
.py
它代表这是一个 Python 程序。

二十一、最关键的一步:给 VS Code 选择正确的 Python 环境

这一部分非常重要。
我们之前把 OpenSeesPy 安装在哪里?
答案:
openseespy312
所以 VS Code 也必须使用:
openseespy312
不能随便使用别的 Python。
打开:
test_opensees.py
以后,看看 VS Code 界面的底部。
通常能够看到:
Python 3.x.x
或者:
Select Interpreter
点击它。
如果找不到,也可以按:
Ctrl + Shift + P
顶部会弹出命令搜索框。
输入:
Python: Select Interpreter
点击:
Python: Select Interpreter

二十二、选择 openseespy312

随后 VS Code 会列出电脑上发现的 Python 环境。
可能看到:
base
还可能看到:
openseespy312
我们选择:
Python 3.12.x ('openseespy312': conda)
具体显示文字可能根据版本略有区别。
但最关键的是:
openseespy312
一定不要随手选择:
base
也不要选择其他 Python。

二十三、如果 VS Code 找不到 openseespy312 怎么办?

先不要重装软件。
回到 Anaconda 的:
openseespy312 Terminal
输入:
where python
按 Enter。
会显示当前环境 Python 的实际位置。
例如可能类似:
C:\Users\你的用户名\anaconda3\envs\openseespy312\python.exe
如果你的 Anaconda 安装在 D 盘,也可能类似:
D:\Anaconda3\envs\openseespy312\python.exe
记住这个位置。
然后回到 VS Code:
Ctrl + Shift + P
输入:
Python: Select Interpreter
如果列表里没有对应环境,可以选择手动输入 Python Interpreter 路径。
找到刚才那个:
python.exe
即可。

二十四、第十三步:在 VS Code 里再检查一次环境

VS Code 顶部:
Terminal
点击:
New Terminal
下面会出现 VS Code 自己的终端。
如果 Python 环境自动激活成功,终端前面通常能够看到:
(openseespy312)
例如:
(openseespy312) PS D:\OpenSeesPy_Learning>
这句话非常重要。
它告诉我们:
VS Code
现在正在使用
openseespy312

二十五、再次验证 Python

在 VS Code 下方终端输入:
python --version
应该看到:
Python 3.12.x
继续输入:
python -m pip show openseespy
如果安装正确,会出现:
Name: openseespy
Version: ...
Location: ...
看到这里基本就可以确定:
VS Code 已经找到了我们刚才创建的 OpenSeesPy 环境。

二十六、第十四步:写下我们的第一段 OpenSeesPy 程序

打开刚才的:
test_opensees.py
输入:
import openseespy.opensees as ops
print("OpenSees version:", ops.version())
print("OpenSeesPy 安装成功!")
然后:
Ctrl + S
保存。

二十七、第十五步:运行代码

看看 VS Code 编辑器右上角。
应该能看到一个:
三角形按钮。
鼠标放上去可能显示:
Run Python File
点击它。
VS Code 下方终端开始运行程序。
如果出现:
OpenSees version: ...
OpenSeesPy 安装成功!
并且没有红色报错:
恭喜!
你已经完成:
Anaconda
+
Python
+
OpenSeesPy
+
VS Code
的完整环境配置。

二十八、再建立两个真正的 OpenSees 节点试试看

既然软件已经能运行了,我们再多走一步。
把刚才代码改成:
import openseespy.opensees as ops

清除已有模型

ops.wipe()

建立二维模型

ops.model('basic', '-ndm', 2, '-ndf', 2)

创建两个节点

ops.node(1, 0.0, 0.0)
ops.node(2, 5.0, 0.0)
print("OpenSees version:", ops.version())
print("当前模型中的节点:")
print(ops.getNodeTags())
print("OpenSeesPy 第一个测试模型运行成功!")
再次点击:
如果下面出现类似:
当前模型中的节点:
[1, 2]
OpenSeesPy 第一个测试模型运行成功!
那么现在我们已经不是单纯:
安装了一个 Python 包
而是:

真的使用 OpenSees 创建了两个节点。

虽然模型现在什么都没有。
没有材料,
没有单元,
没有荷载,
没有分析。
但是我们的 OpenSeesPy 环境已经彻底打通了。

二十九、最常见问题:VS Code 报黄色波浪线

有时候输入:
import openseespy.opensees as ops
VS Code 会出现:
黄色波浪线
或者提示找不到模块。
第一件事不要重装 OpenSeesPy。
先看:
VS Code 当前选择的 Python Interpreter
是不是:
openseespy312
因为绝大多数刚开始学习 Python 的环境问题,本质上都是:

安装包的环境和运行代码的环境不是同一个。


三十、最常见问题:ModuleNotFoundError

如果运行代码以后出现:
ModuleNotFoundError:
No module named 'openseespy'
按照下面顺序检查。
第一步:
看 VS Code 左下角或者状态栏 Python 环境是不是:
openseespy312
第二步:
打开 VS Code Terminal,输入:
python --version
第三步:
输入:
python -m pip show openseespy
如果没有任何 OpenSeesPy 信息,再执行:
python -m pip install openseespy
一定确保终端当前对应:
openseespy312

三十一、为什么不直接在 VS Code 里面创建环境?

现在的 VS Code 已经能够管理 Python 和 Conda 环境。
但是这套学习记录主要面向像我一样刚开始接触 Python 的同学。
所以这一阶段我还是选择:
Anaconda Navigator
负责创建、查看环境
VS Code
负责写代码
这样更直观。
等以后对:
conda
pip
Python Interpreter
Terminal
这些概念熟悉以后,再全部用命令操作也不迟。

三十二、今天到底完成了什么?

现在完整关系应该是:
Windows
├── Anaconda
│       │
│       └── openseespy312
│               │
│               ├── Python 3.12
│               │
│               └── OpenSeesPy
└── VS Code
├── Microsoft Python 扩展
└── Python Interpreter
openseespy312
真正运行代码时:
test_opensees.py
VS Code
openseespy312
Python
OpenSeesPy
OpenSees
如果能理解这张关系图,我觉得这篇安装教程最重要的目标就已经达到了。

三十三、给和我一样的小白一个建议

我刚开始接触这些东西时,最困惑的并不是代码本身。
而是网上会同时出现:
Python
Anaconda
conda
pip
VS Code
PyCharm
Jupyter
OpenSees
OpenSeesPy
Tcl
每一个名字看起来都像一个新软件。
其实对于现在的我们,完全没必要一次全部弄明白。
目前只记住:
Anaconda:管理环境
Python:运行程序
OpenSeesPy:用 Python 调用 OpenSees
VS Code:写代码
就已经足够。

写在最后

到这里,我们终于搭好了自己的第一套 OpenSeesPy 学习环境:
Anaconda + Python + OpenSeesPy + VS Code
我觉得对刚入门的人来说,“能跑起来”非常重要。
因为只有把环境问题解决掉,后面才能真正开始讨论:
ops.wipe() 是什么?
ops.model() 又是什么?
-ndm 为什么等于2?
-ndf 又为什么等于3?
节点到底怎么建立?
约束怎么施加?
材料怎么定义?
单元怎么连接?
所以下一篇,我准备真正开始写:
第一个 OpenSeesPy 有限元模型
还是按照现在这种方式。
不直接甩一大段程序。
而是从:
import openseespy.opensees as ops
和:
ops.wipe()
开始。
一行一行弄清楚,它到底在干什么。
——有限元学习日记