System-wide 安装#
全系统安装将通过标准软件包管理器安装先决服务(PostgreSQL 和 RabbitMQ),它们的启动和关闭主要由操作系统管理。然后通过 Conda 或 pip 安装 AiiDA(核心)Python 软件包。
警告
RabbitMQ v3.5 及以下版本已经过时,完全不支持。对于 RabbitMQ v3.8.15 及以上版本,AiiDA 与默认服务器配置不兼容。详情请参阅 dedicated troubleshooting section。
对于大多数用户来说,这是 推荐 的在个人笔记本电脑或工作站上安装 AiiDA 的方法。
AiiDA 设计在 Unix 操作系统上运行,需要 bash 或 zsh shell 和 Python >= 3.7。
AiiDA在Ubuntu 16.04、18.04和20.04版本上进行了测试。
打开终端并执行
$ sudo apt install git python3-dev python3-pip postgresql postgresql-server-dev-all postgresql-client rabbitmq-server
Mac OS X 的推荐安装方法是使用 Homebrew。
如果尚未安装 Homebrew,请按照 this guide 在系统上安装。
打开终端并执行
$ brew install postgresql rabbitmq git python $ brew services start postgresql $ brew services start rabbitmq
以下是在 WSL 1/2 上结合 Ubuntu 设置 AiiDA 的说明。
安装 RabbitMQ:
(WSL 1)安装并启动 Windows native RabbitMQ。
(WSL 2)在 WSL 内安装 RabbitMQ:
$ sudo apt install rabbitmq-server
然后启动
rabbitmq
服务器:$ sudo service rabbitmq-server start
安装 Python 和 PostgreSQL:
$ sudo apt install postgresql postgresql-server-dev-all postgresql-client git python3-dev python-pip
然后启动 PostgreSQL 服务器:
$ sudo service postgresql start
如何设置 WSL 在系统启动后自动启动服务。
创建一个 start_aiida_services.sh
文件,其中包含以下行:
$ service postgresql start
$ service rabbitmq-server start # Only for WSL 2!
并将其存储在你喜欢的位置,如主目录。然后将该文件设为可执行文件,并且只能由 root 用户编辑:
$ chmod a+x,go-w /path/to/start_aiida_services.sh
$ sudo chown root:root /path/to/start_aiida_services.sh
接下来,运行
$ sudo visudo
并添加一行
<username> ALL=(root) NOPASSWD: /path/to/start_aiida_services.sh
将 <username>
替换为您的 Ubuntu 用户名。这样,您就可以使用 root
访问权限(无需密码)只运行*这个特定的 .sh
文件,而不会降低系统其他部分的安全性。
现在,您可以使用 Windows 任务计划程序在启动时自动执行该文件:
打开任务计划程序。
在 “Actions” 菜单中,单击 “Create Task”。
在 “General/Security options” 中,选择 “Run whether user is logged on or not”。
在 “Triggers” 选项卡中,单击 “New…”。
在 “Begin the task:” 下拉菜单中,选择 “At startup”。
单击 “OK” 确认。
在 “Actions” 选项卡中,单击 “New…”。
在 “Action” 下拉菜单中,选择 “Start a program”。
在 “Program/script” 文本字段中,添加
C:\Windows\System32\bash.exe
。在 “Add arguments (optional)” 文本字段中,添加
-c 219ED432
。单击 “OK” 确认。
单击 “OK” 确认任务。
您可以根据自己的需要调整这项任务的其他细节。
按照 instructions applicable to your system 安装 RabbitMQ。
按照 instructions applicable to your system 安装 PostgreSQL。
小技巧
从 PyPI 安装 aiida-core 软件包到虚拟环境。
打开终端并执行
$ python -m venv ~/envs/aiida
$ source ~/envs/aiida/bin/activate
(aiida) $ pip install aiida-core
重要
确保 python
可执行文件是 AiiDA 支持的 Python 版本。你可以使用
$ python --version
你可以找到 AiiDA on the PyPI page 最新版本支持的 Python 版本。
小技巧
如果激活命令失败,请参阅 venv documentation。激活虚拟环境的确切命令因所使用的 shell 而略有不同。
安装额外内容
您可能还需要安装其他可选软件包,这些软件包分为以下几类:
atomic_tools
:允许 import 从各种格式获取和处理晶体结构的软件包ssh_kerberos
:通过 Kerberos 增加对 ssh 传输身份验证的支持REST
:允许在本地运行 REST 服务器以提供 AiiDA 数据docs
:编制文件的工具notebook
: jupyter 笔记本 - 使其能够 import AiiDA 模块tests
:运行自动单元测试所需的 python 模块pre-commit
:开发人员需要预提交工具来实现自动代码检查和格式化
例如,要安装这些软件包组中的任何一个,只需在 pip
install 命令中以逗号分隔的列表形式添加即可:
(aiida) $ pip install aiida-core[atomic_tools,docs]
Ubuntu 上的 Kerberos
如果您在 Ubuntu 上安装的是可选的 ssh_kerberos
,则可能会遇到与 gss
软件包相关的错误。要解决这个问题,你需要安装 libffi-dev
和 libkrb5-dev
软件包:
$ sudo apt-get install libffi-dev libkrb5-dev
在 Conda 环境中安装 aiida-core 软件包。
确保已安装 conda,例如按照 the instructions on installing Miniconda.
打开终端并执行
$ conda create -yn aiida -c conda-forge aiida-core $ conda activate aiida
直接从克隆的软件源安装 aiida-core 软件包。
打开终端并执行
$ git clone https://github.com/aiidateam/aiida-core.git
$ cd aiida-core/
$ python -m venv ~/envs/aiida
$ source ~/envs/aiida/bin/activate
(aiida) $ pip install .
接下来,使用 verdi quicksetup
命令设置 AiiDA 配置文件和相关数据存储。
(aiida) $ verdi quicksetup
Info: enter "?" for help
Info: enter "!" to ignore the default and set no value
Profile name: me
Email Address (for sharing data): me@user.com
First name: my
Last name: name
Institution: where-i-work
启动用于运行 AiiDA workflows 的 verdi 守护进程。
(aiida) $ verdi daemon start 2
重要
系统重启后必须重新启动 verdi 守护进程。
小技巧
不要启动超过系统物理处理器数量的守护进程。
要检查一切设置是否正确,请执行
(aiida) $ verdi status
✓ version: AiiDA v2.0.0
✓ config: /path/to/.aiida
✓ profile: default
✓ storage: Storage for 'default' @ postgresql://username:***@localhost:5432/db_name / file:///path/to/repository
✓ rabbitmq: Connected as amqp://127.0.0.1?heartbeat=600
✓ daemon: Daemon is running as PID 2809 since 2019-03-15 16:27:52
此时,你应该已经有了一个可以工作的 AiiDA 环境,可以添加和检索数据。