This commit is contained in:
ahmadbilalkhalid 2019-09-12 13:28:09 +05:00
parent fdfcf36e4e
commit 139c693add
1 changed files with 1 additions and 55 deletions

View File

@ -1,61 +1,7 @@
import subprocess as sp
# import subprocess as sp
# import requests
import json
import os
# from decouple import config
# def install_available(pipfile):
# """ Install Python packages or their dependencies mentioned in
# pipfile if they are available in System repos
# """
# def is_available_in_system_repos(package):
# try:
# sp.check_output(['apk', 'info', f'py3-{package}'])
# except:
# return False
# else:
# return True
# if get_distro_name() == "alpine":
# dependencies = []
# need_to_be_installed = []
# try:
# with open(pipfile) as f:
# lines = f.readlines()
# try:
# start_index = lines.index("[packages]\n")
# end_index = lines.index("\n", start_index)
# for package in lines[start_index: end_index]:
# if '= "*"' in package:
# package = package[:package.index(" =")]
# if is_available_in_system_repos(package):
# need_to_be_installed.append(f"py3-{package}")
# else:
# dependencies.append(package)
# except ValueError:
# print("Not Found")
# except:
# return
# else:
# for dependency in dependencies:
# content = requests.get(f"https://libraries.io/api/pypi/{dependency}/latest/dependencies?api_key={config('LIBRARIES_IO_API')}")
# content = json.loads(content.content.decode("utf-8"))
# for subdependency in content["dependencies"]:
# subdependency = subdependency["name"]
# if is_available_in_system_repos(subdependency):
# need_to_be_installed.append(f"py3-{subdependency}")
# for package in need_to_be_installed:
# try:
# sp.check_output(["apk", "add", package])
# except:
# print(f"Could not install {package}")
def install_available(project_path):
if get_distro_name() == "alpine":
sp.check_output(['pipenv', 'lock'])
@ -65,7 +11,7 @@ def install_available(project_path):
for package in content["default"].keys():
try:
sp.check_output(["apk", "add", f"py3-{package}"])
sp.check_output(["apk", "add", f"py3-{package}"], stderr=sp.DEVNULL)
except Exception:
pass