mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-06 07:18:28 +01:00
Merge pull request #2722 from kss682/2672_1
Added package manager to dvc version output
This commit is contained in:
@@ -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
@@ -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()
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user