diff --git a/dvc/command/diff.py b/dvc/command/diff.py index ac8be0be7..d11ed01e6 100644 --- a/dvc/command/diff.py +++ b/dvc/command/diff.py @@ -9,7 +9,6 @@ from funcy import compact from dvc.exceptions import DvcException from dvc.command.base import CmdBase, append_doc_link -import dvc.repo.diff as diff logger = logging.getLogger(__name__) @@ -37,6 +36,8 @@ class CmdDiff(CmdBase): @classmethod def _get_dir_changes(cls, dct): + import dvc.repo.diff as diff + engine = inflect.engine() changes_msg = ( "{} {} untouched, {} {} modified, {} {} added, " @@ -57,6 +58,8 @@ class CmdDiff(CmdBase): @classmethod def _get_file_changes(cls, dct): + import dvc.repo.diff as diff + if ( dct.get(diff.DIFF_OLD_FILE) and dct.get(diff.DIFF_NEW_FILE) @@ -79,6 +82,8 @@ class CmdDiff(CmdBase): @classmethod def _get_royal_changes(cls, dct): + import dvc.repo.diff as diff + if dct[diff.DIFF_SIZE] != diff.DIFF_SIZE_UNKNOWN: if dct.get("is_dir"): return cls._get_dir_changes(dct) @@ -88,6 +93,8 @@ class CmdDiff(CmdBase): @classmethod def _show(cls, diff_dct): + import dvc.repo.diff as diff + msg = "dvc diff from {} to {}".format( diff_dct[diff.DIFF_A_REF], diff_dct[diff.DIFF_B_REF] ) diff --git a/dvc/command/get.py b/dvc/command/get.py index 1233086e3..e5d647f69 100644 --- a/dvc/command/get.py +++ b/dvc/command/get.py @@ -3,7 +3,6 @@ from __future__ import unicode_literals import argparse import logging -from dvc.repo import Repo from dvc.exceptions import DvcException from .base import CmdBaseNoRepo, append_doc_link @@ -13,6 +12,8 @@ logger = logging.getLogger(__name__) class CmdGet(CmdBaseNoRepo): def run(self): + from dvc.repo import Repo + try: Repo.get( self.args.url, diff --git a/dvc/command/get_url.py b/dvc/command/get_url.py index 27f4e935e..579193d9a 100644 --- a/dvc/command/get_url.py +++ b/dvc/command/get_url.py @@ -3,7 +3,6 @@ from __future__ import unicode_literals import argparse import logging -from dvc.repo import Repo from dvc.exceptions import DvcException from .base import CmdBaseNoRepo, append_doc_link @@ -13,6 +12,8 @@ logger = logging.getLogger(__name__) class CmdGetUrl(CmdBaseNoRepo): def run(self): + from dvc.repo import Repo + try: Repo.get_url(self.args.url, out=self.args.out) return 0 diff --git a/dvc/command/pipeline.py b/dvc/command/pipeline.py index 6dc7b9a77..280699479 100644 --- a/dvc/command/pipeline.py +++ b/dvc/command/pipeline.py @@ -9,8 +9,6 @@ import logging from dvc.exceptions import DvcException from dvc.command.base import CmdBase, fix_subparsers, append_doc_link -from dvc.repo.graph import get_pipeline - logger = logging.getLogger(__name__) @@ -43,6 +41,7 @@ class CmdPipelineShow(CmdBase): def __build_graph(self, target, commands, outs): import networkx from dvc.stage import Stage + from dvc.repo.graph import get_pipeline stage = Stage.load(self.repo, target) node = relpath(stage.path, self.repo.root_dir) diff --git a/dvc/command/root.py b/dvc/command/root.py index 183d4af38..09f14d0cb 100644 --- a/dvc/command/root.py +++ b/dvc/command/root.py @@ -3,7 +3,6 @@ from __future__ import unicode_literals import argparse import logging -from dvc.repo import Repo from dvc.command.base import CmdBaseNoRepo, append_doc_link from dvc.utils import relpath @@ -12,6 +11,8 @@ logger = logging.getLogger(__name__) class CmdRoot(CmdBaseNoRepo): def run(self): + from dvc.repo import Repo + logger.info(relpath(Repo.find_root())) return 0 diff --git a/dvc/command/version.py b/dvc/command/version.py index 3e2b780f0..616a9b144 100644 --- a/dvc/command/version.py +++ b/dvc/command/version.py @@ -14,7 +14,6 @@ except ImportError: from dvc.utils import is_binary from dvc.utils.compat import pathlib -from dvc.repo import Repo from dvc.command.base import CmdBaseNoRepo, append_doc_link from dvc.version import __version__ from dvc.exceptions import DvcException, NotDvcRepoError @@ -26,6 +25,8 @@ logger = logging.getLogger(__name__) class CmdVersion(CmdBaseNoRepo): def run(self): + from dvc.repo import Repo + dvc_version = __version__ python_version = platform.python_version() platform_type = platform.platform()