Merge pull request #2722 from kss682/2672_1

Added package manager to dvc version output
This commit is contained in:
Ruslan Kuprieiev
2019-11-03 21:56:01 +02:00
committed by GitHub
3 changed files with 58 additions and 51 deletions
+4 -2
View File
@@ -18,7 +18,7 @@ from dvc.command.base import CmdBaseNoRepo, append_doc_link
from dvc.version import __version__
from dvc.exceptions import DvcException, NotDvcRepoError
from dvc.system import System
from dvc.utils.pkg import get_package_manager
logger = logging.getLogger(__name__)
@@ -31,17 +31,19 @@ class CmdVersion(CmdBaseNoRepo):
python_version = platform.python_version()
platform_type = platform.platform()
binary = is_binary()
package_manager = get_package_manager()
info = (
"DVC version: {dvc_version}\n"
"Python version: {python_version}\n"
"Platform: {platform_type}\n"
"Binary: {binary}\n"
"Package manager: {package_manager}\n"
).format(
dvc_version=dvc_version,
python_version=python_version,
platform_type=platform_type,
binary=binary,
package_manager=package_manager,
)
try:
+3 -49
View File
@@ -9,8 +9,8 @@ from packaging import version
from dvc import __version__
from dvc.lock import Lock, LockError
from dvc.utils import is_binary, boxify, env2bool
from dvc.utils import boxify, env2bool
from dvc.utils.pkg import get_package_manager
logger = logging.getLogger(__name__)
@@ -140,52 +140,6 @@ class Updater(object): # pragma: no cover
),
}
package_manager = self._get_package_manager()
package_manager = get_package_manager()
return instructions[package_manager]
def _get_linux(self):
import distro
if not is_binary():
return "pip"
package_managers = {
"rhel": "yum",
"centos": "yum",
"fedora": "yum",
"amazon": "yum",
"opensuse": "yum",
"ubuntu": "apt",
"debian": "apt",
}
return package_managers.get(distro.id())
def _get_darwin(self):
if not is_binary():
if __file__.startswith("/usr/local/Cellar"):
return "formula"
else:
return "pip"
return None
def _get_windows(self):
return None if is_binary() else "pip"
def _get_package_manager(self):
import platform
from dvc.exceptions import DvcException
m = {
"Windows": self._get_windows,
"Darwin": self._get_darwin,
"Linux": self._get_linux,
}
system = platform.system()
func = m.get(system)
if func is None:
raise DvcException("not supported system '{}'".format(system))
return func()
+51
View File
@@ -0,0 +1,51 @@
from dvc.utils import is_binary
def get_linux():
import distro
if not is_binary():
return "pip"
package_managers = {
"rhel": "yum",
"centos": "yum",
"fedora": "yum",
"amazon": "yum",
"opensuse": "yum",
"ubuntu": "apt",
"debian": "apt",
}
return package_managers.get(distro.id())
def get_darwin():
if not is_binary():
if __file__.startswith("/usr/local/Cellar"):
return "formula"
else:
return "pip"
return None
def get_windows():
return None if is_binary() else "pip"
def get_package_manager():
import platform
from dvc.exceptions import DvcException
m = {
"Windows": get_windows(),
"Darwin": get_darwin(),
"Linux": get_linux(),
}
system = platform.system()
func = m.get(system)
if func is None:
raise DvcException("not supported system '{}'".format(system))
return func