我需要使用 CosmoMC 运行一些 GR 脚本。我以前没有使用过它,而且我无法按照说明执行任何操作,因为我在每一步都遇到错误,而我无法解决。
我将 vagrant 与 virtualbox 结合使用,并克隆了 CosmoMC 的 git 存储库。当我跑步时
make
它给了我这个 No rule to make target 'camb/fortran/*.*90'
以下是我的Makefile
default: cosmomc
Debug: cosmomc_debug
Release: cosmomc
cleanDebug: clean delete
cleanRelease: clean delete
rebuild: clean delete cosmomc
cosmomc: BUILD ?= MPI
cosmomc_debug: BUILD ?= MPI
getdist: ./source/*.*90
cd ./source && make getdist BUILD=$(BUILD)
cosmomc: ./source/*.*90 ./camb/fortran/*.*90
cd ./source && make cosmomc BUILD=$(BUILD)
cosmomc_debug: ./source/*.*90 ./camb/fortran/*.*90
cd ./source && make cosmomc_debug OUTPUT_DIR=Debug BUILD=$(BUILD)
camspec: ./source/*.*90 ./camb/fortran/*.*90
cd ./source && make highL=../highL PLANCKLIKE=cliklike_CamSpec
clean:
cd ./source && make clean
all: cosmomc
delete:
rm -f cosmomc
rm -f cosmomc_debug
当我运行 GetDist 测试时,它运行顺利并通过了每个测试。但是当我运行
python GetDistGUI.py
时,我得到了这个 AttributeError: type object 'PySide2.QtWidgets.QApplication' has no attribute 'screenAt'
。
我能做什么呢?我有 PySide2 和 PySide6。
好的,我想我明白了这个问题。事实上,它抱怨的是
./camb/fortran/*.*90
而不是 ./source/*.*90
,这让我想知道这有什么不同。查看 repo,camb
是一个 git 子模块。正常的签出不会获取子模块。因此,该目录将为空,从而导致错误。
因此,在存储库的根目录中,执行以下操作:
git submodule init
git submodule update
我想你会找到幸福的。