Source code for qrl.core.misc.DependencyChecker

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import sys

import os
import pkg_resources


[docs]class DependencyChecker: @staticmethod def _get_requirements_path(): return os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir, os.path.pardir, os.path.pardir, os.path.pardir, "requirements.txt"))
[docs] @staticmethod def check(): requirements_path = DependencyChecker._get_requirements_path() requirements = [] with open(requirements_path, "r") as fp: for line in fp.readlines(): if line.startswith("#"): continue requirements.append(line.strip("\n")) try: pkg_resources.require(requirements) except Exception as e: sys.exit("dependencies not satisfied, run [pip3 install -r requirements.txt] first. \n {}".format(e))