Як виправити pysb Exception: The program BioNetGen was not found in the default search path(s) for your operating system

Проблема

Під час запуску моделі PySB ви бачите повідомлення про помилку, наприклад

error-output.txt
Exception: The program BioNetGen was not found in the default search path(s) for your operating system:

/usr/local/share/BioNetGen
/usr/bin
/home/user/.local/bin
/home/user/.pyenv/shims
/home/user/.pyenv/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/sbin
/bin
/usr/games
/usr/local/games
/snap/bin

Either install it to one of those paths, or set a custom path using the environment variable BNGPATH or by calling the function pysb.pathfinder.set_path()

Conda users can install BioNetGen using the following command:

conda install -c alubbock bionetgen

Рішення

Спочатку клонуйте BioNetGen з офіційного репозиторію до обраної вами теки. У цьому прикладі ми використаємо ~/bionetgen:

clone-bionetgen.sh
git clone --depth 1 -b BioNetGen-2.9.2 https://github.com/RuleWorld/bionetgen.git

Потім, перед запуском будь-якого коду pysb, встановіть змінну середовища BNGPATH на шлях, куди ви клонували BioNetGen, додавши наступний код Python:

set-bngpath.py
import os
import os.path
os.environ['BNGPATH'] = os.path.expanduser('~/bionetgen/bng2')

Зверніть увагу, що BNGPATH обов’язково має бути встановлена на підтеку bng2 клонованого репозиторію BioNetGen!

Перезапустіть вашу цілу програму — тепер помилка має зникнути.


Дивіться схожі статті за категоріями: Python