ucloud-setup/app/abk.py

33 lines
869 B
Python
Raw Normal View History

2019-08-30 18:26:22 +05:00
import subprocess
import os
from pipfile import Pipfile
def globally_installed_py_packages():
output = subprocess.check_output("pip list --format freeze".split(), env={})
output = output.decode("utf-8")
output = output.strip()
global_packages = output.split("\n")
return global_packages
global_packages = globally_installed_py_packages()
2019-08-30 18:32:19 +05:00
name = "cow"
p = Pipfile.load(filename=name)
2019-08-30 18:26:22 +05:00
content = ""
2019-08-30 18:32:19 +05:00
with open(name, "r") as f:
2019-08-30 18:26:22 +05:00
content = f.read()
for pip_package in p.data["default"]:
version = p.data["default"][pip_package]
if version == "*":
for package in global_packages:
package = package.lower()
if package.startswith(pip_package.lower()):
substr = f'{pip_package} = "*"'
content = content.replace(substr, package)
2019-08-30 18:32:19 +05:00
with open(name, "w") as f:
2019-08-30 18:26:22 +05:00
f.write(content)