[LOG] 「计算物理基础」课程环境搭建手册

日常手册/指北 分享

综述

简洁描述可以以及如何解决当前问题

「计算物理基础」课程的开发环境搭建。

有问题可以咨询我,或者想要补充。联系方式:

背景

问题产生场景和激发隐藏任务事件/链接/…

「计算物理基础」课程需要搭建开发环境,但是老师让同学们各显神通……我觉得这会是一场灾难……有许多肉眼可见的坑……

我希望让大家都用上优雅的环境,而且 MIT 等等的公开课,无不提供完整的环境 tutorial。环境很重要。

环境

解决办法适用的环境/版本

windows 10,mac。

问题

详细描述问题的范畴/条件/上下文/…

  • 如何安装 fortran?
  • 如何编译运行程序?
  • 如何编写得更爽一些?

操作

逐步说明用什么工具, 在哪儿, 进行什么操作, 如何检验, 应该获得什么输出 …

windows

太长不看版:

有同学跟我说,「是不是要装 vs 2003」……我觉得不行。

  1. fortran 原本是 unix 软件,在 windows 上算移植,想想都很坑
  2. 在 9012 年装 vs 2003,不光很不爽,而且很不靠谱,更别提 vs 是个装了就很难卸掉的主。

推荐方案 wsl + vscode remote。原生 linux 开发体验。

wsl——windows subsystem of linux。相当于系统级的超轻量级 linux 虚拟机。我们在它里面安装 fortran,然后使用 vscode 远程功能在里面开发,和本机效果一样。

wsl 安装

参考 官方指南

先打开管理员模式的 powershell 运行:

1
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

不知道 powershell 是什么?

  1. bing / google
  2. win+x在弹出菜单里选「管理员模式打开 powershell」

打开 M$ Store (windows 应用商店)搜索 wsl 或者 windows subsystem of linux. 安装。

ubuntu 16.04就行。

反馈:M$ store 中不显示版本号,据我查看,默认是 18.04。所以下面要换源的话,请换 18.04 的源。

安装完成之后,在开始菜单,所有程序里会多一个 ubuntu。点击,打开一个命令行界面。

会让你输入 unix 用户名和密码。设置就好,记住它们。

应用商店上不了?

因为垃圾 GFW 或者 M$ 本身菜鸡的原因,有的人应用商店上不了。

其实手册里是有说怎么解决这个问题的。

手动下载一个 appimage,然后运行一行命令就可以了。然而由于垃圾 GFW,该 image 下载奇慢无比。

我已经下好了,放在小红星书库-「计算物理参考」。链接: https://pan.baidu.com/s/1PWg-0N-YpGuim6vJ5rCb1w 提取码: ga2j

下载到某个目录,打开管理员模式的 powershell,运行如下命令:

1
2
cd C:...(你放程序的目录)
Add-AppxPackage .Ubuntu_1604.2019.523.0_x64.appx

就会安装好了。

安装 fortran

打开 ubuntu(wsl)的命令行。执行如下语句,以下的语句对 16.04 和 18.04 都是通用的。

1
2
sudo apt-get update (如果很慢就不执行算了)
sudo apt-get install gfortran

如果下载和update非常慢
因为墙的缘故。换国内源。参考清华源说明。

如果是16.04 在上面链接的页面上选择 ubuntu 16.04 LTS,如果是 m$ store 版本请选择 18.04

在wsl命令行执行以下代码:

1
2
sudo mv /etc/apt/sources.list /etc/apt/sou 大专栏  [LOG] 「计算物理基础」课程环境搭建手册rces.list.backup 
sudo nano /etc/apt/sources.list # 这条命令会打开一个编辑器。创建新的 sources.list

坑:有的同学并不知道上面的第二条命令是打开编辑器,结果把 sources.list 备份之后没有创建新的 sources.list

在打开的编辑器界面中复制清华源上看到的,类似以下的所有代码,然后ctrl-x,再按 Y 保存退出。

1
2
3
4
5
6
7
8
9
10
################### 不理解的话,请不要直接复制这些配置! #########
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

然后再apt-get updateapt-get install gfortran

install 跑完之后,在命令行里输入gfortran,会有如下反应,证明 fortran 安装完毕。

1
2
3
(base)  ofey > gfortran
gfortran: fatal error: no input files
compilation terminated.

fortran hello world

用命令行编译运行。书上应该会教,我就不手把手了。

命令行很多人显然从没接触过。linux bash(命令行)的教程推荐:

vscode 远程

其实有命令行已经可以写 fortran 程序了。为了写得更爽一些,我们需要一个漂亮的现代编辑器。

安装 vscode。

打开「插件」(左侧从上往下数第五个图标,是几个方块)。搜索remote development

远程开发插件使用参照官方手册,或者我给你讲:

安装插件 Remote Development。安完之后 vscode 左下角会多一个绿色按钮,按钮上一个大于号一个小于号。

(一定要)打开之前安装的 wsl 的命令行,不然 vscode 不会知道有 wsl。

按该按钮,选择 remote-wsl。连上了就完事了。现在你保存文件,就是在 wsl 里保存,写代码,编译,运行用的都是 wsl 里面的 fortran 了。

按 ctrl+` 打开命令行(bash),用命令编译。

mac

brew install gfortran然后就完事了。mac 是类 unix 系统,少许多麻烦事。

不认识该命令请 google/bing ‘homebrew’。

linux

你能拿 linux 发行版来做日常系统,那不需要我教了,我们交个朋友吧(我日常用过半年 linux)。

总结

再次说明经验应用要注意的, 容易出问题的点, 以及有助记忆的作弊条…

windows:

  • wsl 安装
  • fortran 安装
  • vscode remote 配置。

refer

过程中参考过的重要文章/图书/模块/代码/…

永远的: 如何提问

logging:

用倒序日期排列来从旧到新记要关键变化

  • 190911 ofey404 init
上一篇:python-f2py:将数组预先分配为Fortran子例程的输入


下一篇:Ctypes Python <> Fortran DLL的访问冲突