def install_requirements(self, secureops="secureops"):
        log.info("Installing requirements...")
        # Find the pip for the environment
        pippath = os.path.join(self.projectdir, "env", "bin", "pip")
        if not os.path.exists(pippath):
            raise DeploymentException("Could not find the environment's pip installer. Perhaps pip is not installed? Virtualenvironments must have pip installed, which is normally done automatically.")

        username = "opus"+self.projectname

        # Go through each app to look for requirements
        repodir = os.path.join(self.projectdir, "apprepos")
        repos = os.listdir(repodir)
        for repo in repos:
            for reqfilename in ('requirements.txt', 'requirements.pip'):
                reqpath = os.path.join(repodir, repo, reqfilename)
                if os.path.exists(reqpath):
                    log.debug("Installing requirements for %s, found in %s",
                            repo, reqpath)
                    # Run secureops -i 
                    command = [secureops,
                            "-i", username,
                            pippath,
                            reqpath]
                    proc = subprocess.Popen(command,
                            stdout=subprocess.PIPE,
                            stderr=subprocess.STDOUT,
                            close_fds=True,
                            )
                    output = proc.communicate()[0]
                    ret = proc.wait()
                    log.debug("PIP output: %s", output)
                    if ret:
                        raise DeploymentException("Failed to install requirements. Ret:{0}. Output:{1}".format(ret, output))
smooth bezier with xy2 to xy relative
dataset/ETHPy150Open bmbouter/Opus/opus/lib/deployer/__init__.py/ProjectDeployer.install_requirements--crossover with--dataset/ETHPy150Open CGATOxford/cgat/CGAT/SVGdraw.py/pathdata.relsmbezier