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"]).decode('utf8').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"]).decode('utf8') with open("hitchreqs.txt", "w") as hitchreqs_handle: hitchreqs_handle.write(pip_freeze)
def clean(): """Remove the hitch directory entirely.""" if hitchdir.hitch_exists(): hitch_directory = hitchdir.get_hitch_directory_or_fail() shutil.rmtree(hitch_directory) else: stderr.write("No hitch directory found. Doing nothing.\n") stderr.flush()
def freeze(): """List installed hitch packages.""" hitchdir.check_hitch_directory_integrity() 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"]).decode('utf8').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"]).decode('utf8') with open("hitchreqs.txt", "w") as hitchreqs_handle: hitchreqs_handle.write(pip_freeze)
def get_pip(): """Get the file path to the hitch pip.""" return path.join(hitchdir.get_hitch_directory_or_fail(), "virtualenv", "bin", "pip")
def clean(): """Remove the hitch directory entirely.""" hitch_directory = hitchdir.get_hitch_directory_or_fail() shutil.rmtree(".hitch")
def freeze(): """List installed hitch packages.""" pip = path.join(hitchdir.get_hitch_directory_or_fail(), "virtualenv", "bin", "pip") call([pip, "freeze", ])
def get_pip(): """Get the file path to the hitch pip.""" return path.join(hitchdir.get_hitch_directory_or_fail(), "virtualenv", "bin", "pip")