This paper is incomplete. I still work for it recently. 20210525
主要是win10 下使用conda安装python并成功运行模拟的tips记录
使用python可以将结果直接绘图,并且官方许多教程也是基于python来说明的
使用python运行alps可以使用conda或者编译安装
因为alps整体依赖软件版本比较outdated,antiquated,所以建议在cmd中而不是powershell中使用
安装
使用conda
安装基于python的alps有许多问题,甚至直接使用官方docker也有问题
其中依赖hdf5
的版本有一些问题
可能需要1.8版本的hdf5
,见alpscore,[ALPS-users] HDF5 runtime error when using mps_optim application with ‘optimization’ parameter set ‘singlesite’ on CentOS Linux
|
|
也许这样也可以,且更简单一些
|
|
依次运行这几条命令,有时会出错,重复运行即可(在此之前需要解决conda代理或者换源的问题❤)
总之我们的目的就是安装alps,并保证hdf5
包的版本为1.8.18
conda deactivate py27 # 退出虚拟环境
运行
一些小问题:
- 直接运行
alpspython
,在键入import pyalps
(使用alps所必须)后会出现No module named pyhdf5_c
这种与hdf5
有关的坑爹问题 - 而直接运行
python
则无上述hdf5
相关问题,但是在模拟时(即输入pyalps.runApplication('spinmc',input_file,Tmin=5)
等开始运行模拟的命令)会出现failed to find it at /lib/xml\ALPS.xsl
的问题,大概为环境变量设置有误,找不到一些模拟必须且和alps相关的文件 - 运行
alpspython
可能和一个文件alpspython.bat
有关,该文件内容如下
|
|
可以推测在启动alpspython
时除了运行上述CMD命令外,还存在一些别的操作,使得hdf5
无法正常运行,所以我们使用自己添加环境变量的方法,直接使用python
来使用alps,避免hdf5
包的相关问题
增加环境变量运行python才能在python中使用alps
REM Copyright Matthias Troyer 2010.
REM Distributed under the Boost Software License, Version 1.0.
REM (See accompanying file LICENSE_1_0.txt or copy at
REM http://www.boost.org/LICENSE_1_0.txt)
# 设置环境变量
set PYTHONPATH=%PYTHONPATH%;%HOMEDRIVE%\Program Files\ALPS\lib;%HOMEDRIVE%\Program Files (x86)\ALPS\lib
# 启动python
python
将得到以下输出
(py27) C:\Users\WeiM\Downloads\ed-03-1dspectra>python
Python 2.7.15 (default, Mar 5 2020, 14:56:45) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', 'C:\\Users\\WeiM\\.conda\\envs\\py27\\python27.zip', 'C:\\Users\\WeiM\\.conda\\envs\\py27\\DLLs', 'C:\\Users\\WeiM\\.conda\\envs\\py27\\lib', 'C:\\Users\\WeiM\\.conda\\envs\\py27\\lib\\plat-win', 'C:\\Users\\WeiM\\.conda\\envs\\py27\\lib\\lib-tk', 'C:\\Users\\WeiM\\.conda\\envs\\py27', 'C:\\Users\\WeiM\\.conda\\envs\\py27\\lib\\site-packages']
>>>
后续即可正常运行alps
除上述在启动时设置环境变量的方法外,还可以如下操作:
MC-01文件中加入代码
|
|
后续
不知道为什么进行过上述过程后,后续使用python的alps再也不用手动设置环境变量了??