Exemplo n.º 1
0
def _is_library_file(filename):
    return (filename is None or path_startswith(filename, sys.prefix)
            or hasattr(sys, "base_prefix")
            and path_startswith(filename, sys.base_prefix)
            or hasattr(sys, "real_prefix")
            and path_startswith(filename, getattr(sys, "real_prefix"))
            or site.ENABLE_USER_SITE
            and path_startswith(filename, site.getusersitepackages()))
Exemplo n.º 2
0
    def get_site_packages(self):
        # NB! site.sitepackages may not be present in virtualenv
        for d in self._sys_path:
            if ("site-packages" in d or "dist-packages"
                    in d) and path_startswith(d, self._sys_prefix):
                return d

        return None
Exemplo n.º 3
0
    def _get_target_directory(self):
        if self._use_user_install():
            import site

            assert hasattr(site, "getusersitepackages")
            os.makedirs(site.getusersitepackages(), exist_ok=True)
            return normpath_with_actual_case(site.getusersitepackages())
        else:
            for d in sys.path:
                if ("site-packages" in d or "dist-packages"
                        in d) and path_startswith(d, sys.prefix):
                    return normpath_with_actual_case(d)
            return None
def test_path_startswith():
    assert path_startswith("/kala/pala", "/kala")
    assert path_startswith("/kala/pala", "/kala/")

    assert not path_startswith("/kala/pala", "/pala")
    assert not path_startswith("/kalapala/pala", "/kala")

    if os.name == "nt":
        assert path_startswith("/kala/pala", "/KALA")
    else:
        assert not path_startswith("/kala/pala", "/KALA")

    if os.name == "nt":
        assert path_startswith("C:\\foo\\bar", "C:\\foo")
        assert path_startswith("C:\\foo", "C:\\")
        assert path_startswith("C:/foo", "C:\\")
        assert path_startswith("C:\\foo", "C:/")

        assert path_startswith("C:\\foo\\dir\\file", "C:\\foo")
        assert path_startswith("C:/foo\\dir\\file", "c:\\FOO")
        assert path_startswith("c:\\FOO\\dir\\file", "C:/foo")

        assert path_startswith("C:\\FOO\\dir\\dir2\\..\\ee", "C:/foo/dir/ee")

        assert path_startswith("c:\\foo\\bar.txt/kala\\pala",
                               "C:\\foo\\bar.txt/kala")
        assert path_startswith("c:\\foo\\bar.txt/kala\\pala", "C:\\")

        assert not path_startswith("C:\\kalapala\\pala", "C:\\kala")