How to use the pythonfinder.utils.is_in_path function in pythonfinder

To help you get started, we’ve selected a few pythonfinder examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github sarugaku / pythonfinder / tests / test_python.py View on Github external
def test_shims_are_removed(monkeypatch, setup_pythons):
    with monkeypatch.context() as m:
        pyenv_dir = pythonfinder.utils.normalize_path("./.pyenv")
        asdf_dir = pythonfinder.utils.normalize_path("./.asdf")
        six.moves.reload_module(pythonfinder.environment)
        six.moves.reload_module(pythonfinder.models.path)
        if "VIRTUAL_ENV" in os.environ:
            os_path = os.environ["PATH"].split(os.pathsep)
            env_path = next(
                iter(
                    p
                    for p in os_path
                    if pythonfinder.utils.is_in_path(p, os.environ["VIRTUAL_ENV"])
                ),
                None,
            )
            if env_path is not None:
                os_path.remove(env_path)
                os.environ["PATH"] = os.pathsep.join(os_path)
            del os.environ["VIRTUAL_ENV"]
        m.setattr(
            pythonfinder.environment,
            "SHIM_PATHS",
            pythonfinder.environment.get_shim_paths(),
        )
        f = pythonfinder.pythonfinder.Finder(
            global_search=True, system=False, ignore_unsupported=True
        )
        f.rehash()
github sarugaku / pythonfinder / tests / test_python.py View on Github external
m.setattr(pythonfinder.environment, "ASDF_INSTALLED", False)
        m.setattr(pythonfinder.environment, "PYENV_ROOT", pyenv_dir)
        m.setattr(pythonfinder.environment, "ASDF_DATA_DIR", asdf_dir)
        m.setattr(
            pythonfinder.environment,
            "SHIM_PATHS",
            pythonfinder.environment.get_shim_paths(),
        )
        if "VIRTUAL_ENV" in os.environ:
            os_path = os.environ["PATH"].split(os.pathsep)
            env_path = next(
                iter(
                    [
                        p
                        for p in os_path
                        if pythonfinder.utils.is_in_path(p, os.environ["VIRTUAL_ENV"])
                    ]
                ),
                None,
            )
            if env_path is not None:
                os_path.remove(env_path)
                os.environ["PATH"] = os.pathsep.join(os_path)
            del os.environ["VIRTUAL_ENV"]
        f = pythonfinder.pythonfinder.Finder(
            global_search=True, system=False, ignore_unsupported=True
        )
        f.rehash()
        assert pythonfinder.environment.get_shim_paths() == []
        assert os.path.join(pyenv_dir, "shims") in os.environ["PATH"]
        assert not f.system_path.finders
        assert os.path.join(pyenv_dir, "shims") in f.system_path.path_order
github sarugaku / pythonfinder / tests / test_python.py View on Github external
global_search=True, system=False, ignore_unsupported=True
        )
        f.rehash()
        # assert "pyenv" in f.system_path.finders
        python_versions = f.find_all_python_versions()
        assert os.environ["PYENV_ROOT"] == os.path.abspath(
            os.path.join(os.curdir, ".pyenv")
        )
        assert os.environ["PYENV_ROOT"] == pythonfinder.environment.PYENV_ROOT
        assert pythonfinder.environment.PYENV_INSTALLED
        assert f.system_path.pyenv_finder is not None
        # assert len(python_versions) == 0
        python_version_paths = list(
            v.path
            for v in python_versions
            if pythonfinder.utils.is_in_path(str(v.path), os.environ["PYENV_ROOT"])
        )
        # Make sure we have an entry for every python version installed
        python_names = set(list(v.parent.parent.name for v in python_version_paths))
        # this calculates the pythons not present when we ran `find_all_python_versions`
        missing_from_finder = python_names ^ set(list(setup_pythons.keys()))
        assert not missing_from_finder, missing_from_finder
        anaconda = f.find_python_version("anaconda3-5.3.0")
        assert anaconda is not None, os.listdir(
            os.path.join(pyenv_dir, "versions", "anaconda3-5.3.0", "bin")
        )
        assert "shims" not in anaconda.path.as_posix()
        which_anaconda = f.which("anaconda3-5.3.0")
        assert "shims" not in which_anaconda.path.as_posix()