计算化学公社

 找回密码 Forget password
 注册 Register
Views: 455|回复 Reply: 9
打印 Print 上一主题 Last thread 下一主题 Next thread

[辅助/分析程序] Mokit调用PySCF失败

[复制链接 Copy URL]

67

帖子

0

威望

2430

eV
积分
2497

Level 5 (御坂)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 chunlinxxx 于 2025-8-25 05:05 编辑

各位老师好!


我在使用 MOKIT(版本 1.2.7rc9, 2025-Jul-24)运行 CASSCF 测试计算时,遇到了一个关于 Python 模块的错误。环境已经安装 PySCF 2.9.0,并且 MOKIT 可以正常 import,但内部调用 Python 执行脚本时失败。

环境信息:

$ python --version
Python 3.9.12

$ python -c "import pyscf; import mokit; print(pyscf.__version__, mokit.__file__)"
2.9.0 /orcd/pool/003/*_shared/*-data/mokit3/mokit/__init__.py

$ echo $MOKIT_ROOT
/orcd/pool/003/*_shared/*-data/mokit3
$ echo $PATH
...$MOKIT_ROOT/bin:...
$ echo $PYTHONPATH
$MOKIT_ROOT:...


加载的模块:

module purge
module load deprecated-modules  
module load gcc/12.2.0-x86_64
module load python/3.10.8-x86_64
module load anaconda3/2022.05-x86_64
module load intel/2024.2.1


运行命令:

./AutoMR.py --method casscf --basis cc-pVDZ ...


错误输出(部分):

Enter subroutine get_paired_LMO...
chem_core=1, ecp_core=0, Nskip_UNO=0
Two sets of MOs, ist=1, invoke UNO associated rotation.
$python 00-h2o_cc-pVDZ_1.5_uhf_uno_asrot.py >00-h2o_cc-pVDZ_1.5_uhf_uno_asrot.out 2>&1

ERROR in subroutine submit_pyscf_job: PySCF job failed. Please open
file 00-h2o_cc-pVDZ_1.5_uhf_uno_asrot.out and check.


已确认:

在命令行直接执行 Python 脚本可以成功:

python 00-h2o_cc-pVDZ_1.5_uhf_uno_asrot.py


内部调用 $python ... 时失败。

$python 是 MOKIT 在日志中标记的,不是 shell 命令。

疑问:

为什么 MOKIT 内部执行 Python 会找不到 mokit?

如何让 MOKIT 使用我通过 module load anaconda3/... 加载的 Python 环境?

有没有办法在不影响其他程序的前提下,确保内部 $python 调用与 shell 中 python 相同?

谢谢大家了!

00-h2o_cc-pVDZ_1.5_uhf_uno_asrot.out

236 Bytes, 下载次数 Times of downloads: 3

Pyscf错误输出

00-h2o_cc-pVDZ_1.5.out

2.65 KB, 下载次数 Times of downloads: 2

输出文件

00-h2o_cc-pVDZ_1.5.gjf

360 Bytes, 下载次数 Times of downloads: 0

输入文件

mokit.sh

523 Bytes, 下载次数 Times of downloads: 2

任务脚本

67

帖子

0

威望

2430

eV
积分
2497

Level 5 (御坂)

10#
 楼主 Author| 发表于 Post on 2025-8-25 23:07:41 | 只看该作者 Only view this author
hebrewsnabla 发表于 2025-8-25 21:51
不建议采用方式3. 既然有conda,首选的是方式1.

非常感谢老师指点!我用conda安装成功运行测试例子。

Enter subroutine do_cas...
CASSCF(4e,4o) using program pyscf
doubly_occ=3, nvir=17, Root=0, Xmult=1, RI=F
No. of active alpha/beta e = 2/2
$python 00-h2o_cc-pVDZ_1.5_uhf_gvb4_CASSCF.py >00-h2o_cc-pVDZ_1.5_uhf_gvb4_CASSCF.out 2>&1

E(CASCI)  =       -75.90802086 a.u.
E(CASSCF) =       -75.90823046 a.u.
----------------------- Radical index -----------------------
biradical character y0 = n_LUNO =  0.165
tetraradical character y1 = n_{LUNO+1} =  0.139
Yamaguchi's unpaired electrons  (sum_n n(2-n)      ):  1.121
Head-Gordon's unpaired electrons(sum_n min(n,(2-n))):  0.607
Head-Gordon's unpaired electrons(sum_n (n(2-n))^2  ):  0.315
-------------------------------------------------------------
Leave subroutine do_cas at Mon Aug 25 11:05:05 2025

Normal termination of AutoMR at Mon Aug 25 11:05:05 2025

928

帖子

1

威望

8262

eV
积分
9210

Level 6 (一方通行)

9#
发表于 Post on 2025-8-25 21:51:30 | 只看该作者 Only view this author
chunlinxxx 发表于 2025-8-25 05:29
老师好!抱歉提取了AI信息。

我是按照方式3装的,选得是centos7_conda_py39安装包。下面是环境变量设 ...

不建议采用方式3. 既然有conda,首选的是方式1.

928

帖子

1

威望

8262

eV
积分
9210

Level 6 (一方通行)

8#
发表于 Post on 2025-8-25 21:49:40 | 只看该作者 Only view this author
chunlinxxx 发表于 2025-8-25 20:43
哦,老师输出的是/nfs/software001/home/software-r8-x86_64/spack-20230328/opt/spack/linux-rocky8-x86 ...

在脚本里面export 一下mokit的环境变量。

67

帖子

0

威望

2430

eV
积分
2497

Level 5 (御坂)

7#
 楼主 Author| 发表于 Post on 2025-8-25 20:43:01 | 只看该作者 Only view this author
本帖最后由 chunlinxxx 于 2025-8-25 20:44 编辑
hebrewsnabla 发表于 2025-8-25 13:36
我说了,展示运行mokit的脚本内的which python的输出。具体来说,就是在提交脚本内load anaconda之后,加 ...

哦,老师输出的是/nfs/software001/home/software-r8-x86_64/spack-20230328/opt/spack/linux-rocky8-x86_64/gcc-8.5.0/anaconda3-2022.05-auh4o3tsby7ze6q6v3stn2hhvvnpoy5f/bin/python

新出现一个新问题automr: error while loading shared libraries: libgfortran.so.3: cannot open shared object file: No such file or directory

928

帖子

1

威望

8262

eV
积分
9210

Level 6 (一方通行)

6#
发表于 Post on 2025-8-25 13:36:31 | 只看该作者 Only view this author
本帖最后由 hebrewsnabla 于 2025-8-25 13:42 编辑
chunlinxxx 发表于 2025-8-25 06:04
谢谢老师回复!我的操作如下:

[*@orcd-login001 XX]$ module load anaconda3/2022.05-x86_64

我说了,展示运行mokit的脚本内的which python的输出。具体来说,就是在提交脚本内load anaconda之后,加一行 which python,并展示脚本的输出

67

帖子

0

威望

2430

eV
积分
2497

Level 5 (御坂)

5#
 楼主 Author| 发表于 Post on 2025-8-25 06:04:27 | 只看该作者 Only view this author
本帖最后由 chunlinxxx 于 2025-8-25 07:53 编辑

谢谢老师回复!我的操作如下:

[*@orcd-login001 XX]$ module load anaconda3/2022.05-x86_64
[*@orcd-login001 XX]$ which python
/nfs/software001/home/software-r8-x86_64/spack-20230328/opt/spack/linux-rocky8-x86_64/gcc-8.5.0/anaconda3-2022.05-auh4o3tsby7ze6q6v3stn2hhvvnpoy5f/bin/python
[*@orcd-login001 XX]$ python --version
Python 3.9.12
[*@orcd-login001 XX]$ python -c "import pyscf; import mokit; print(pyscf.__version__, mokit.__file__)"
2.9.0 /orcd/pool/003/**_shared/my-data/mokit3/mokit/__init__.py

67

帖子

0

威望

2430

eV
积分
2497

Level 5 (御坂)

4#
 楼主 Author| 发表于 Post on 2025-8-25 05:29:38 | 只看该作者 Only view this author
本帖最后由 chunlinxxx 于 2025-8-25 05:50 编辑
zjxitcc 发表于 2025-8-24 15:07
MOKIT没有提供AutoMR.py脚本,也没有这种运行方式,我不知道你这些是哪来的。MOKIT输入文件是gjf文件,运 ...

老师好!抱歉提取了AI信息。

我是按照方式3装的,选得是centos7_conda_py39安装包。下面是环境变量设置;

export MOKIT_ROOT=/orcd/pool/003/**_shared/my-data/mokit3
export PATH=$MOKIT_ROOT/bin:$PATH
export PYTHONPATH=$MOKIT_ROOT:$PYTHONPATH
export LD_LIBRARY_PATH=$MOKIT_ROOT/mokit/lib:$LD_LIBRARY_PATH
export GMS=/orcd/pool/003/**_shared/my-data/gamess/rungms

我觉得冲突点在于我当时是使用naconda3/2022.05-x86_64安装的Pyscf,默认 Python 不是你想用的 Anaconda 环境,而是系统自带的 Python(3.9.12)老师您的意见呢? 非常感谢!

928

帖子

1

威望

8262

eV
积分
9210

Level 6 (一方通行)

3#
发表于 Post on 2025-8-24 15:11:54 | 只看该作者 Only view this author
你在运行
$ python -c "import pyscf; import mokit; print(pyscf.__version__, mokit.__file__)"
2.9.0 /orcd/pool/003/gilliard_shared/cldeng-data/mokit3/mokit/__init__.py
在命令行直接执行 Python 脚本可以成功:

python 00-h2o_cc-pVDZ_1.5_uhf_uno_asrot.py

的时候,在命令行加载了和运行mokit时同样的python环境吗,如 module load anaconda3/2022.05-x86_64。

你的 mokit.sh 里面load的东西和你贴子描述的不完全一样,如没有load python/3.10,当然这通常是不必要的。

如果你认为是一致的,请展示命令行下和运行mokit的脚本内的which python的输出。

4289

帖子

4

威望

9534

eV
积分
13903

Level 6 (一方通行)

MOKIT开发者

2#
发表于 Post on 2025-8-24 15:07:21 | 只看该作者 Only view this author
运行命令:

./AutoMR.py --method casscf --basis cc-pVDZ ...

MOKIT没有提供AutoMR.py脚本,也没有这种运行方式,我不知道你这些是哪来的。MOKIT输入文件是gjf文件,运行方式是例如
  1. automr 00-h2o_cc-pVDZ_1.5.gjf >00-h2o_cc-pVDZ_1.5.out 2>&1
复制代码
这在你上传的mokit.sh脚本里也是这么写的,我不知道你为什么冒出一个AutoMR.py,无关内容、AI创作内容等等 不要发在帖子里。如果是你们集群管理员自己搞的,那最好是问你们管理员,这就与MOKIT没啥关系了。

你需要展示/交待你是采用 方式几 安装的MOKIT,例如中文README提到了4种安装方式。若采用方式2/3/4,你需要展示你的MOKIT环境变量是怎么写的、有没写对(其实自己检查也可以,但从我的经验来看,即使对照README文档,还是有很多新手会写错,所以只能发出来 让大家帮忙检查)。
自动做多参考态计算的程序MOKIT

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-18 02:32 , Processed in 0.176366 second(s), 24 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list