You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
827 B
25 lines
827 B
#funcs
|
|
import pip._internal as pip
|
|
def from_pack(file):
|
|
file = open(file)
|
|
packages = set(file.read().split('\n')) - set(package.key for package in pip.get_installed_distributions())
|
|
file.close()
|
|
for package in packages:
|
|
pip.main(['install',package])
|
|
|
|
def to_pack(file):
|
|
file = open(file,'w')
|
|
s = '\n'.join(map(lambda p: p.key,pip.get_installed_distributions()))
|
|
file.write(s)
|
|
file.close()
|
|
#arguments
|
|
if __name__ == "__main__":
|
|
import argparse
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("mode",metavar = "action",help="what you wanna do")
|
|
parser.add_argument("path",metavar = "dir",help="fullpath to pack")
|
|
args = parser.parse_args()
|
|
if args.mode == "to_pack":
|
|
to_pack(args.path)
|
|
elif args.mode == "from_pack":
|
|
from_pack(args.path)
|