当前位置: 首页>>代码示例>>Python>>正文


Python req.InstallRequirement类代码示例

本文整理汇总了Python中pip._internal.req.InstallRequirement的典型用法代码示例。如果您正苦于以下问题:Python InstallRequirement类的具体用法?Python InstallRequirement怎么用?Python InstallRequirement使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了InstallRequirement类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_unexisting_path

 def test_unexisting_path(self):
     with pytest.raises(InstallationError) as e:
         InstallRequirement.from_line(
             os.path.join('this', 'path', 'does', 'not', 'exist'))
     err_msg = e.value.args[0]
     assert "Invalid requirement" in err_msg
     assert "It looks like a path." in err_msg
开发者ID:oz123,项目名称:pip,代码行数:7,代码来源:test_req.py

示例2: test_use_pep517

def test_use_pep517(data, source, expected):
    """
    Test that we choose correctly between PEP 517 and legacy code paths
    """
    src = data.src.join(source)
    req = InstallRequirement(None, None, source_dir=src)
    req.load_pyproject_toml()
    assert req.use_pep517 is expected
开发者ID:akaihola,项目名称:pip,代码行数:8,代码来源:test_pep517.py

示例3: test_requirement_file

 def test_requirement_file(self):
     req_file_path = os.path.join(self.tempdir, 'test.txt')
     with open(req_file_path, 'w') as req_file:
         req_file.write('pip\nsetuptools')
     with pytest.raises(InstallationError) as e:
         InstallRequirement.from_line(req_file_path)
     err_msg = e.value.args[0]
     assert "Invalid requirement" in err_msg
     assert "It looks like a path. It does exist." in err_msg
     assert "appears to be a requirements file." in err_msg
     assert "If that is the case, use the '-r' flag to install" in err_msg
开发者ID:oz123,项目名称:pip,代码行数:11,代码来源:test_req.py

示例4: test_exclusive_environment_markers

def test_exclusive_environment_markers():
    """Make sure RequirementSet accepts several excluding env markers"""
    eq26 = InstallRequirement.from_line(
        "Django>=1.6.10,<1.7 ; python_version == '2.6'")
    ne26 = InstallRequirement.from_line(
        "Django>=1.6.10,<1.8 ; python_version != '2.6'")

    req_set = RequirementSet('', '', '')
    req_set.add_requirement(eq26)
    req_set.add_requirement(ne26)
    assert req_set.has_requirement('Django')
开发者ID:oz123,项目名称:pip,代码行数:11,代码来源:test_req.py

示例5: test_mismatched_versions

def test_mismatched_versions(caplog, tmpdir):
    original_source = os.path.join(DATA_DIR, 'src', 'simplewheel-1.0')
    source_dir = os.path.join(tmpdir, 'simplewheel')
    shutil.copytree(original_source, source_dir)
    req = InstallRequirement(req=Requirement('simplewheel==2.0'),
                             comes_from=None, source_dir=source_dir)
    req.run_egg_info()
    req.assert_source_matches_version()
    assert caplog.records[-1].message == (
        'Requested simplewheel==2.0, '
        'but installing version 1.0'
    )
开发者ID:jaraco,项目名称:pip,代码行数:12,代码来源:test_req.py

示例6: test_backend

def test_backend(tmpdir, data):
    """Check we can call a requirement's backend successfully"""
    project_dir = make_project(tmpdir, backend="dummy_backend")
    req = InstallRequirement(None, None, source_dir=project_dir)
    req.load_pyproject_toml()
    env = BuildEnvironment()
    finder = PackageFinder([data.backends], [], session=PipSession())
    env.install_requirements(finder, ["dummy_backend"], 'normal', "Installing")
    conflicting, missing = env.check_requirements(["dummy_backend"])
    assert not conflicting and not missing
    assert hasattr(req.pep517_backend, 'build_wheel')
    with env:
        assert req.pep517_backend.build_wheel("dir") == "Backend called"
开发者ID:mkurnikov,项目名称:pip,代码行数:13,代码来源:test_pep517.py

示例7: test_markers_url

    def test_markers_url(self):
        # test "URL; markers" syntax
        url = 'http://foo.com/?p=bar.git;a=snapshot;h=v0.1;sf=tgz'
        line = '%s; python_version >= "3"' % url
        req = InstallRequirement.from_line(line)
        assert req.link.url == url, req.url
        assert str(req.markers) == 'python_version >= "3"'

        # without space, markers are part of the URL
        url = 'http://foo.com/?p=bar.git;a=snapshot;h=v0.1;sf=tgz'
        line = '%s;python_version >= "3"' % url
        req = InstallRequirement.from_line(line)
        assert req.link.url == line, req.url
        assert req.markers is None
开发者ID:oz123,项目名称:pip,代码行数:14,代码来源:test_req.py

示例8: test_finder_only_installs_stable_releases

def test_finder_only_installs_stable_releases(data):
    """
    Test PackageFinder only accepts stable versioned releases by default.
    """

    req = InstallRequirement.from_line("bar", None)

    # using a local index (that has pre & dev releases)
    finder = PackageFinder([], [data.index_url("pre")], session=PipSession())
    link = finder.find_requirement(req, False)
    assert link.url.endswith("bar-1.0.tar.gz"), link.url

    # using find-links
    links = ["https://foo/bar-1.0.tar.gz", "https://foo/bar-2.0b1.tar.gz"]
    finder = PackageFinder(links, [], session=PipSession())

    with patch.object(finder, "_get_pages", lambda x, y: []):
        link = finder.find_requirement(req, False)
        assert link.url == "https://foo/bar-1.0.tar.gz"

    links.reverse()
    finder = PackageFinder(links, [], session=PipSession())

    with patch.object(finder, "_get_pages", lambda x, y: []):
        link = finder.find_requirement(req, False)
        assert link.url == "https://foo/bar-1.0.tar.gz"
开发者ID:edmorley,项目名称:pip,代码行数:26,代码来源:test_finder.py

示例9: test_disabling_pep517_invalid

def test_disabling_pep517_invalid(data, source, msg):
    """
    Test that we fail if we try to disable PEP 517 when it's not acceptable
    """
    src = data.src.join(source)
    req = InstallRequirement(None, None, source_dir=src)

    # Simulate --no-use-pep517
    req.use_pep517 = False

    with pytest.raises(InstallationError) as e:
        req.load_pyproject_toml()

    err_msg = e.value.args[0]
    assert "Disabling PEP 517 processing is invalid" in err_msg
    assert msg in err_msg
开发者ID:akaihola,项目名称:pip,代码行数:16,代码来源:test_pep517.py

示例10: run

    def run(self, options, args):
        with self._build_session(options) as session:
            reqs_to_uninstall = {}
            for name in args:
                req = InstallRequirement.from_line(
                    name, isolated=options.isolated_mode,
                )
                if req.name:
                    reqs_to_uninstall[canonicalize_name(req.name)] = req
            for filename in options.requirements:
                for req in parse_requirements(
                        filename,
                        options=options,
                        session=session):
                    if req.name:
                        reqs_to_uninstall[canonicalize_name(req.name)] = req
            if not reqs_to_uninstall:
                raise InstallationError(
                    'You must give at least one requirement to %(name)s (see '
                    '"pip help %(name)s")' % dict(name=self.name)
                )

            protect_pip_from_modification_on_windows(
                modifying_pip="pip" in reqs_to_uninstall
            )

            for req in reqs_to_uninstall.values():
                uninstall_pathset = req.uninstall(
                    auto_confirm=options.yes, verbose=self.verbosity > 0,
                )
                if uninstall_pathset:
                    uninstall_pathset.commit()
开发者ID:547358880,项目名称:flask-tutorial,代码行数:32,代码来源:uninstall.py

示例11: test_extras_for_editable_url_requirement

 def test_extras_for_editable_url_requirement(self):
     url = 'git+https://url#egg=SomeProject[ex1,ex2]'
     filename = 'filename'
     comes_from = '-r %s (line %s)' % (filename, 1)
     req = InstallRequirement.from_editable(url, comes_from=comes_from)
     assert len(req.extras) == 2
     assert req.extras == set(['ex1', 'ex2'])
开发者ID:oz123,项目名称:pip,代码行数:7,代码来源:test_req.py

示例12: test_extras_for_editable_path_requirement

 def test_extras_for_editable_path_requirement(self):
     url = '.[ex1,ex2]'
     filename = 'filename'
     comes_from = '-r %s (line %s)' % (filename, 1)
     req = InstallRequirement.from_editable(url, comes_from=comes_from)
     assert len(req.extras) == 2
     assert req.extras == set(['ex1', 'ex2'])
开发者ID:oz123,项目名称:pip,代码行数:7,代码来源:test_req.py

示例13: test_finder_priority_nonegg_over_eggfragments

def test_finder_priority_nonegg_over_eggfragments():
    """Test PackageFinder prefers non-egg links over "#egg=" links"""
    req = InstallRequirement.from_line('bar==1.0', None)
    links = ['http://foo/bar.py#egg=bar-1.0', 'http://foo/bar-1.0.tar.gz']

    finder = PackageFinder(links, [], session=PipSession())

    with patch.object(finder, "_get_pages", lambda x, y: []):
        all_versions = finder.find_all_candidates(req.name)
        assert all_versions[0].location.url.endswith('tar.gz')
        assert all_versions[1].location.url.endswith('#egg=bar-1.0')

        link = finder.find_requirement(req, False)

    assert link.url.endswith('tar.gz')

    links.reverse()
    finder = PackageFinder(links, [], session=PipSession())

    with patch.object(finder, "_get_pages", lambda x, y: []):
        all_versions = finder.find_all_candidates(req.name)
        assert all_versions[0].location.url.endswith('tar.gz')
        assert all_versions[1].location.url.endswith('#egg=bar-1.0')
        link = finder.find_requirement(req, False)

    assert link.url.endswith('tar.gz')
开发者ID:edmorley,项目名称:pip,代码行数:26,代码来源:test_finder.py

示例14: test_extras_for_line_path_requirement

 def test_extras_for_line_path_requirement(self):
     line = 'SomeProject[ex1,ex2]'
     filename = 'filename'
     comes_from = '-r %s (line %s)' % (filename, 1)
     req = InstallRequirement.from_line(line, comes_from=comes_from)
     assert len(req.extras) == 2
     assert req.extras == set(['ex1', 'ex2'])
开发者ID:oz123,项目名称:pip,代码行数:7,代码来源:test_req.py

示例15: test_get_dist

 def test_get_dist(self):
     req = InstallRequirement.from_line('foo')
     req.egg_info_path = Mock(return_value='/path/to/foo.egg-info')
     dist = req.get_dist()
     assert isinstance(dist, pkg_resources.Distribution)
     assert dist.project_name == 'foo'
     assert dist.location == '/path/to'
开发者ID:oz123,项目名称:pip,代码行数:7,代码来源:test_req.py


注:本文中的pip._internal.req.InstallRequirement类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。