计算化学公社

 找回密码 Forget password
 注册 Register

ASMD中py2脚本在py3中不适用,求助

查看数: 9035 | 评论数: 3 | 收藏 Add to favorites 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-5-12 10:00

正文摘要:

在amber中做ASMD,stage1结束之后需要判断轨迹中最符合 Jarzynski Average 的那条轨迹 官方教程提供了 ASMD.py脚本用于判断 但是目测这个官方的脚本是基于python2版本做的,系统内置python3.6,运行这个脚 ...

回复 Reply

amber菜鸟 发表于 Post on 2022-8-26 16:41:56
楼主您好,我在执行ASMD.py这个脚本的时候,出现这个问题,请问如何解决呢?

python ASMD.py -i asmd*.work.dat.1 -o jar.stage1.dat        
Traceback (most recent call last):
  File "ASMD.py", line 11, in <module>
    raise ImportError("Unable to load the necessary modules")
ImportError: Unable to load the necessary modules
知黑守白 发表于 Post on 2021-5-12 18:34:10

哇!!  已经好用了!!!!  感谢您!!!!!
snljty 发表于 Post on 2021-5-12 14:14:31
本帖最后由 snljty 于 2021-5-12 14:16 编辑

108行
  1.   print >> sys.stdout, "The file closest to the Jarzynski Average is:   %s" % asmdfile
复制代码

改成
  1.   print("The file closest to the Jarzynski Average is:   %s" % asmdfile)
复制代码

然后70-72行
  1. #open standard output/error files
  2.   sys.stdout = os.fdopen(sys.stdout.fileno(),'w',0)
  3.   sys.stderr = os.fdopen(sys.stderr.fileno(),'w',0)
复制代码
删去。这两个变量除了上面改的地方,压根没用到。而且python3不需要自己打开这两个文件。
顺便,python3自带的库里应该有个叫2to3(.py/.exe/没有后缀)的程序,直接用这个就能完成很多转换。没有测试文件只能改到这里,还有什么问题的话可以把测试文件贴上来。

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
知黑守白 + 5 牛!

查看全部评分 View all ratings

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

GMT+8, 2026-2-23 19:25 , Processed in 0.280150 second(s), 32 queries , Gzip On.

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