Skip to content

Instantly share code, notes, and snippets.

@jaymecd
Created November 28, 2018 21:51
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jaymecd/d42fcb3207cb4c4f5c1ea971a22c310f to your computer and use it in GitHub Desktop.
Save jaymecd/d42fcb3207cb4c4f5c1ea971a22c310f to your computer and use it in GitHub Desktop.
Get `pip freeze` packages for target directory, which was installed using `pip install -t <path>`
#!/usr/bin/env python
# RUN: pip_target_freeze.py <path>
from pip._vendor import pkg_resources
import sys
def find_on_path(path):
dists = pkg_resources.find_on_path(None, path)
dists = sorted(dists, key=lambda item: str(item))
return dists
def main():
path = sys.argv[1] if len(sys.argv) > 1 else '.'
dists = find_on_path(path)
for dist in dists:
print('{}=={}'.format(dist.project_name, dist.version))
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment