mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-10 23:10:42 +01:00
Refactor get_package_manager
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, check_build_patch
|
||||
from dvc.utils.pkg import get_package_manager
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -30,16 +30,14 @@ class CmdVersion(CmdBaseNoRepo):
|
||||
dvc_version = __version__
|
||||
python_version = platform.python_version()
|
||||
platform_type = platform.platform()
|
||||
binary = False
|
||||
if is_binary():
|
||||
binary = check_build_patch()
|
||||
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"
|
||||
"Package type: {package_manager}\n"
|
||||
).format(
|
||||
dvc_version=dvc_version,
|
||||
python_version=python_version,
|
||||
|
||||
+4
-5
@@ -123,14 +123,13 @@ class Updater(object): # pragma: no cover
|
||||
def _get_update_instructions(self):
|
||||
instructions = {
|
||||
"pip": "Run {yellow}pip{reset} install dvc {blue}--upgrade{reset}",
|
||||
"yum": "Run {yellow}yum{reset} update dvc",
|
||||
"yay": "Run {yellow}yay{reset} {blue}-S{reset} dvc",
|
||||
"formula": "Run {yellow}brew{reset} upgrade dvc",
|
||||
"apt": (
|
||||
"rpm": "Run {yellow}yum{reset} update dvc",
|
||||
"osxpkg": "Run {yellow}brew{reset} upgrade dvc",
|
||||
"deb": (
|
||||
"Run {yellow}apt-get{reset} install"
|
||||
" {blue}--only-upgrade{reset} dvc"
|
||||
),
|
||||
"binary": (
|
||||
"exe": (
|
||||
"To upgrade follow these steps:\n"
|
||||
"1. Uninstall dvc binary\n"
|
||||
"2. Go to {blue}https://dvc.org{reset}\n"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
PKG = "windows"
|
||||
+4
-50
@@ -7,57 +7,11 @@ def check_build_patch():
|
||||
|
||||
return PKG
|
||||
except ImportError:
|
||||
return False
|
||||
|
||||
|
||||
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 check_build_patch() == "darwin":
|
||||
return "formula"
|
||||
else:
|
||||
return "pip"
|
||||
return None
|
||||
|
||||
|
||||
def get_windows():
|
||||
return None if is_binary() else "pip"
|
||||
return None
|
||||
|
||||
|
||||
def get_package_manager():
|
||||
import platform
|
||||
from dvc.exceptions import DvcException
|
||||
if not is_binary():
|
||||
return "pip"
|
||||
|
||||
if check_build_patch() == "conda":
|
||||
return "conda"
|
||||
|
||||
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
|
||||
return check_build_patch()
|
||||
|
||||
@@ -52,6 +52,7 @@ command_exists()
|
||||
fpm_build()
|
||||
{
|
||||
print_info "Building $1..."
|
||||
git apply "$(pwd)/scripts/$1.patch"
|
||||
VERSION=$(python -c "import dvc; from dvc import __version__; print(str(__version__))")
|
||||
fpm -s dir \
|
||||
-f \
|
||||
@@ -103,10 +104,6 @@ build_dvc()
|
||||
{
|
||||
print_info "Building dvc binary..."
|
||||
|
||||
if [[ "$(uname)" != 'Linux' ]]; then
|
||||
git apply $(pwd)/scripts/darwin.patch
|
||||
fi
|
||||
|
||||
pyinstaller \
|
||||
--additional-hooks-dir $(pwd)/scripts/hooks dvc/__main__.py \
|
||||
--name dvc \
|
||||
|
||||
@@ -22,7 +22,7 @@ where iscc
|
||||
if %errorlevel% neq 0 (echo Error: Couldn't find Inno Setup compiler. && goto :error)
|
||||
|
||||
echo ====== Installing requirements... ======
|
||||
call git patch scripts/patches/windows.patch
|
||||
call git patch scripts\patches\windows.patch
|
||||
call pip install .[all] || goto :error
|
||||
call pip install psutil || goto :error
|
||||
call dvc pull || goto :error
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
dvc/utils/build.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 100644 dvc/utils/build.py
|
||||
|
||||
diff --git a/dvc/utils/build.py b/dvc/utils/build.py
|
||||
new file mode 100644
|
||||
index 00000000..ada7a0bb
|
||||
--- /dev/null
|
||||
+++ b/dvc/utils/build.py
|
||||
@@ -0,0 +1 @@
|
||||
+PKG = "deb"
|
||||
--
|
||||
2.17.1
|
||||
@@ -1,8 +1,3 @@
|
||||
From 71707795d27aa848d71780b84e056b4f5735650c Mon Sep 17 00:00:00 2001
|
||||
From: n3hrox <[email protected]>
|
||||
Date: Sun, 10 Nov 2019 17:35:10 +0100
|
||||
Subject: [PATCH] Darwin patch
|
||||
|
||||
---
|
||||
dvc/utils/build.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
@@ -14,7 +9,6 @@ index 00000000..3d149b9a
|
||||
--- /dev/null
|
||||
+++ b/dvc/utils/build.py
|
||||
@@ -0,0 +1 @@
|
||||
+PKG = "darwin"
|
||||
+PKG = "osxpkg"
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
dvc/utils/build.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 100644 dvc/utils/build.py
|
||||
|
||||
diff --git a/dvc/utils/build.py b/dvc/utils/build.py
|
||||
new file mode 100644
|
||||
index 00000000..ada7a0bb
|
||||
--- /dev/null
|
||||
+++ b/dvc/utils/build.py
|
||||
@@ -0,0 +1 @@
|
||||
+PKG = "rpm"
|
||||
--
|
||||
2.17.1
|
||||
@@ -1,19 +1,14 @@
|
||||
From 6b53dcffe5e13cb3c196d29a495d8da9bcc26d6d Mon Sep 17 00:00:00 2001
|
||||
From: n3hrox <[email protected]>
|
||||
Date: Sun, 10 Nov 2019 15:44:14 +0100
|
||||
Subject: [PATCH] Windows patch
|
||||
|
||||
---
|
||||
dvc/utils/buid.py | 1 +
|
||||
dvc/utils/build.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 100644 dvc/utils/buid.py
|
||||
create mode 100644 dvc/utils/build.py
|
||||
|
||||
diff --git a/dvc/utils/buid.py b/dvc/utils/buid.py
|
||||
diff --git a/dvc/utils/build.py b/dvc/utils/build.py
|
||||
new file mode 100644
|
||||
index 00000000..ada7a0bb
|
||||
--- /dev/null
|
||||
+++ b/dvc/utils/buid.py
|
||||
+++ b/dvc/utils/build.py
|
||||
@@ -0,0 +1 @@
|
||||
+PKG = "windows"
|
||||
+PKG = "exe"
|
||||
--
|
||||
2.17.1
|
||||
|
||||
Reference in New Issue
Block a user