def update_requirements(): """Check hitchreqs.txt match what's installed via pip freeze. If not, update.""" pip = path.join(hitchdir.get_hitch_directory_or_fail(), "virtualenv", "bin", "pip") hitchreqs_filename = path.join(hitchdir.get_hitch_directory_or_fail(), "..", "hitchreqs.txt") pip_freeze = check_output([pip, "freeze"]) hitchreqs_handle = "" with open(hitchreqs_filename, "r") as hitchreqs_handle: hitchreqs = hitchreqs_handle.read() if not pip_freeze == hitchreqs: call([pip, "install", "-r", "hitchreqs.txt"])
def freeze(): """List install hitch packages.""" pip = path.join(hitchdir.get_hitch_directory_or_fail(), "virtualenv", "bin", "pip") call([ pip, "freeze", ])
def update_requirements(): """Check hitchreqs.txt match what's installed via pip freeze. If not, update.""" pip = path.join(hitchdir.get_hitch_directory_or_fail(), "virtualenv", "bin", "pip") hitchreqs_filename = path.join(hitchdir.get_hitch_directory_or_fail(), "..", "hitchreqs.txt") pip_freeze = check_output([pip, "freeze"]).split('\n') hitchreqs_handle = "" with open(hitchreqs_filename, "r") as hitchreqs_handle: hitchreqs = hitchreqs_handle.read().split('\n') if not sorted(pip_freeze) == sorted(hitchreqs): call([pip, "install", "-r", "hitchreqs.txt"]) pip_freeze = check_output([pip, "freeze"]) with open("hitchreqs.txt", "w") as hitchreqs_handle: hitchreqs_handle.write(pip_freeze)
def install(package): """Install hitch package.""" pip = path.join(hitchdir.get_hitch_directory_or_fail(), "virtualenv", "bin", "pip") call([pip, "install", package, "-U", ]) pip_freeze = check_output([pip, "freeze"]) with open("hitchreqs.txt", "w") as hitchreqs_handle: hitchreqs_handle.write(pip_freeze)
def uninstall(package): """Uninstall hitch package.""" pip = path.join(hitchdir.get_hitch_directory_or_fail(), "virtualenv", "bin", "pip") call([pip, "uninstall", package]) pip_freeze = check_output([pip, "freeze"]) with open("hitchreqs.txt", "w") as hitchreqs_handle: hitchreqs_handle.write(pip_freeze)
def clean(): """Remove the hitch directory entirely.""" hitch_directory = hitchdir.get_hitch_directory_or_fail() shutil.rmtree(".hitch")
def freeze(): """List install hitch packages.""" pip = path.join(hitchdir.get_hitch_directory_or_fail(), "virtualenv", "bin", "pip") call([pip, "freeze", ])