1. 21 9月, 2021 1 次提交
  2. 13 9月, 2021 1 次提交
  3. 20 8月, 2021 1 次提交
  4. 13 2月, 2021 1 次提交
  5. 26 12月, 2020 2 次提交
    • J
      Use f-strings for simple string formatting · cdcf74fb
      Jon Dufresne 提交于
      Use pyupgrade to convert simple string formatting to use f-string
      syntax. pyupgrade is intentionally timid and will not create an f-string
      if it would make the expression longer or if the substitution parameters
      are anything but simple names or dotted names.
      cdcf74fb
    • J
      Remove object from class definitions · 09b3d3a5
      Jon Dufresne 提交于
      Unnecessary since dropping Python 2 support. In Python 3, all classes
      are new style classes.
      09b3d3a5
  6. 30 10月, 2020 1 次提交
  7. 04 8月, 2020 1 次提交
  8. 30 7月, 2020 1 次提交
    • T
      Canonicalize name in check_if_exists · 1fd5098b
      Tzu-ping Chung 提交于
      The previous implementation uses pkg_resources.get_distribution(), which
      does not canonicalize the package name correctly, and fails when
      combined with pip's own get_distribution(), which does canonicalize
      names. This makes InstallRequirement.check_if_exists() only use pip's
      own canonicalization logic so different package name forms are matched
      as expected.
      1fd5098b
  9. 25 7月, 2020 1 次提交
  10. 06 7月, 2020 1 次提交
    • T
      Skip installing if the version matches locally · 01e0700e
      Tzu-ping Chung 提交于
      This check only applies to explicit requirements since we avoid
      downloading the dist from finder altogether when there is a matching
      installation (although the check wouldn’t change the behaviour in that
      case anyway).
      
      We can do this when we build the `ExplicitRequirement` instead, like how
      we did for `SpecifierRequirement`, but that would require us to resolve
      the direct requirement’s version eagerly, which I don’t want to.
      
      The implemented approach checks the version only after resolution, at
      which point the distribution is already built anyway and the operation
      is cheap.
      01e0700e
  11. 19 6月, 2020 1 次提交
  12. 28 5月, 2020 1 次提交
  13. 26 5月, 2020 1 次提交
  14. 21 5月, 2020 1 次提交
  15. 07 3月, 2020 2 次提交
  16. 16 11月, 2019 1 次提交
    • T
      Mark 6 tests as network tests · e5212281
      Tomas Orsava 提交于
      =================================== FAILURES ===================================
      _______________________________ test_freeze_path _______________________________
      tmpdir = Path('/tmp/pytest-of-mockbuild/pytest-0/test_freeze_path0')
      script = <tests.lib.PipTestEnvironment object at 0x7fe950a4caf0>
      data = <tests.lib.TestData object at 0x7fe950a4cc10>
          def test_freeze_path(tmpdir, script, data):
              """
              Test freeze with --path.
              """
      >       script.pip('install', '--find-links', data.find_links,
                         '--target', tmpdir, 'simple==2.0')
      tests/functional/test_freeze.py:712:
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      tests/lib/__init__.py:593: in run
          _check_stderr(
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      stderr = "WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'N...t at 0x7fe6435ef280>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/\n"
      allow_stderr_warning = False, allow_stderr_error = False
          def _check_stderr(
              stderr, allow_stderr_warning, allow_stderr_error,
          ):
              """
              Check the given stderr for logged warnings and errors.
      
              :param stderr: stderr output as a string.
              :param allow_stderr_warning: whether a logged warning (or deprecation
                  message) is allowed. Must be True if allow_stderr_error is True.
              :param allow_stderr_error: whether a logged error is allowed.
              """
              assert not (allow_stderr_error and not allow_stderr_warning)
      
              lines = stderr.splitlines()
              for line in lines:
                  # First check for logging errors, which we don't allow during
                  # tests even if allow_stderr_error=True (since a logging error
                  # would signal a bug in pip's code).
                  #    Unlike errors logged with logger.error(), these errors are
                  # sent directly to stderr and so bypass any configured log formatter.
                  # The "--- Logging error ---" string is used in Python 3.4+, and
                  # "Logged from file " is used in Python 2.
                  if (line.startswith('--- Logging error ---') or
                          line.startswith('Logged from file ')):
                      reason = 'stderr has a logging error, which is never allowed'
                      msg = make_check_stderr_message(stderr, line=line, reason=reason)
                      raise RuntimeError(msg)
                  if allow_stderr_error:
                      continue
      
                  if line.startswith('ERROR: '):
                      reason = (
                          'stderr has an unexpected error '
                          '(pass allow_stderr_error=True to permit this)'
                      )
                      msg = make_check_stderr_message(stderr, line=line, reason=reason)
                      raise RuntimeError(msg)
                  if allow_stderr_warning:
                      continue
      
                  if (line.startswith('WARNING: ') or
                          line.startswith(DEPRECATION_MSG_PREFIX)):
                      reason = (
                          'stderr has an unexpected warning '
                          '(pass allow_stderr_warning=True to permit this)'
                      )
                      msg = make_check_stderr_message(stderr, line=line, reason=reason)
      >               raise RuntimeError(msg)
      E               RuntimeError: stderr has an unexpected warning (pass allow_stderr_warning=True to permit this):
      E                Caused by line: "WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fe64364c850>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/"
      E                Complete stderr: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fe64364c850>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      E               WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fe64364cdc0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      E               WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fe64364cf70>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      E               WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fe6435ef130>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      E               WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fe6435ef280>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      tests/lib/__init__.py:404: RuntimeError
      ________________________ test_freeze_path_exclude_user _________________________
      tmpdir = Path('/tmp/pytest-of-mockbuild/pytest-0/test_freeze_path_exclude_user0')
      script = <tests.lib.PipTestEnvironment object at 0x7fe950ec8fa0>
      data = <tests.lib.TestData object at 0x7fe950ec8a30>
          def test_freeze_path_exclude_user(tmpdir, script, data):
              """
              Test freeze with --path and make sure packages from --user are not picked
              up.
              """
              script.pip_install_local('--find-links', data.find_links,
                                       '--user', 'simple2')
      >       script.pip('install', '--find-links', data.find_links,
                         '--target', tmpdir, 'simple==1.0')
      tests/functional/test_freeze.py:728:
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      tests/lib/__init__.py:593: in run
          _check_stderr(
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      stderr = "WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'N...t at 0x7f87ae751310>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/\n"
      allow_stderr_warning = False, allow_stderr_error = False
          def _check_stderr(
              stderr, allow_stderr_warning, allow_stderr_error,
          ):
              """
              Check the given stderr for logged warnings and errors.
      
              :param stderr: stderr output as a string.
              :param allow_stderr_warning: whether a logged warning (or deprecation
                  message) is allowed. Must be True if allow_stderr_error is True.
              :param allow_stderr_error: whether a logged error is allowed.
              """
              assert not (allow_stderr_error and not allow_stderr_warning)
      
              lines = stderr.splitlines()
              for line in lines:
                  # First check for logging errors, which we don't allow during
                  # tests even if allow_stderr_error=True (since a logging error
                  # would signal a bug in pip's code).
                  #    Unlike errors logged with logger.error(), these errors are
                  # sent directly to stderr and so bypass any configured log formatter.
                  # The "--- Logging error ---" string is used in Python 3.4+, and
                  # "Logged from file " is used in Python 2.
                  if (line.startswith('--- Logging error ---') or
                          line.startswith('Logged from file ')):
                      reason = 'stderr has a logging error, which is never allowed'
                      msg = make_check_stderr_message(stderr, line=line, reason=reason)
                      raise RuntimeError(msg)
                  if allow_stderr_error:
                      continue
      
                  if line.startswith('ERROR: '):
                      reason = (
                          'stderr has an unexpected error '
                          '(pass allow_stderr_error=True to permit this)'
                      )
                      msg = make_check_stderr_message(stderr, line=line, reason=reason)
                      raise RuntimeError(msg)
                  if allow_stderr_warning:
                      continue
      
                  if (line.startswith('WARNING: ') or
                          line.startswith(DEPRECATION_MSG_PREFIX)):
                      reason = (
                          'stderr has an unexpected warning '
                          '(pass allow_stderr_warning=True to permit this)'
                      )
                      msg = make_check_stderr_message(stderr, line=line, reason=reason)
      >               raise RuntimeError(msg)
      E               RuntimeError: stderr has an unexpected warning (pass allow_stderr_warning=True to permit this):
      E                Caused by line: "WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f87ae7aa8e0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/"
      E                Complete stderr: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f87ae7aa8e0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      E               WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f87ae7aae50>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      E               WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f87ae751040>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      E               WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f87ae7511c0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      E               WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f87ae751310>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      tests/lib/__init__.py:404: RuntimeError
      __________________________ test_freeze_path_multiple ___________________________
      tmpdir = Path('/tmp/pytest-of-mockbuild/pytest-0/test_freeze_path_multiple0')
      script = <tests.lib.PipTestEnvironment object at 0x7fe950b43fd0>
      data = <tests.lib.TestData object at 0x7fe950b43df0>
          def test_freeze_path_multiple(tmpdir, script, data):
              """
              Test freeze with multiple --path arguments.
              """
              path1 = tmpdir / "path1"
              os.mkdir(path1)
              path2 = tmpdir / "path2"
              os.mkdir(path2)
      >       script.pip('install', '--find-links', data.find_links,
                         '--target', path1, 'simple==2.0')
      tests/functional/test_freeze.py:750:
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      tests/lib/__init__.py:593: in run
          _check_stderr(
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      stderr = "WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'N...t at 0x7f07e6253280>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/\n"
      allow_stderr_warning = False, allow_stderr_error = False
          def _check_stderr(
              stderr, allow_stderr_warning, allow_stderr_error,
          ):
              """
              Check the given stderr for logged warnings and errors.
      
              :param stderr: stderr output as a string.
              :param allow_stderr_warning: whether a logged warning (or deprecation
                  message) is allowed. Must be True if allow_stderr_error is True.
              :param allow_stderr_error: whether a logged error is allowed.
              """
              assert not (allow_stderr_error and not allow_stderr_warning)
      
              lines = stderr.splitlines()
              for line in lines:
                  # First check for logging errors, which we don't allow during
                  # tests even if allow_stderr_error=True (since a logging error
                  # would signal a bug in pip's code).
                  #    Unlike errors logged with logger.error(), these errors are
                  # sent directly to stderr and so bypass any configured log formatter.
                  # The "--- Logging error ---" string is used in Python 3.4+, and
                  # "Logged from file " is used in Python 2.
                  if (line.startswith('--- Logging error ---') or
                          line.startswith('Logged from file ')):
                      reason = 'stderr has a logging error, which is never allowed'
                      msg = make_check_stderr_message(stderr, line=line, reason=reason)
                      raise RuntimeError(msg)
                  if allow_stderr_error:
                      continue
      
                  if line.startswith('ERROR: '):
                      reason = (
                          'stderr has an unexpected error '
                          '(pass allow_stderr_error=True to permit this)'
                      )
                      msg = make_check_stderr_message(stderr, line=line, reason=reason)
                      raise RuntimeError(msg)
                  if allow_stderr_warning:
                      continue
      
                  if (line.startswith('WARNING: ') or
                          line.startswith(DEPRECATION_MSG_PREFIX)):
                      reason = (
                          'stderr has an unexpected warning '
                          '(pass allow_stderr_warning=True to permit this)'
                      )
                      msg = make_check_stderr_message(stderr, line=line, reason=reason)
      >               raise RuntimeError(msg)
      E               RuntimeError: stderr has an unexpected warning (pass allow_stderr_warning=True to permit this):
      E                Caused by line: "WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f07e62ae850>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/"
      E                Complete stderr: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f07e62ae850>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      E               WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f07e62aedc0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      E               WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f07e62aef70>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      E               WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f07e6253130>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      E               WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f07e6253280>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
      tests/lib/__init__.py:404: RuntimeError
      _________________ test_install_no_binary_builds_pep_517_wheel __________________
      script = <tests.lib.PipTestEnvironment object at 0x7fe9509f4e20>
      data = <tests.lib.TestData object at 0x7fe9509f4640>, with_wheel = None
          def test_install_no_binary_builds_pep_517_wheel(script, data, with_wheel):
              to_install = data.packages.joinpath('pep517_setup_and_pyproject')
      >       res = script.pip(
                  'install', '--no-binary=:all:', '-f', data.find_links, to_install
              )
      tests/functional/test_install.py:1279:
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      self = <tests.lib.PipTestEnvironment object at 0x7fe9509f4e20>
      args = ('python', '-m', 'pip', 'install', '--no-binary=:all:', '-f', ...)
      kw = {'expect_stderr': True}
      cwd = Path('/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/scratch')
      run_from = None, allow_stderr_error = False, allow_stderr_warning = False
      expect_error = None
          def run(self, *args, **kw):
              """
              :param allow_stderr_error: whether a logged error is allowed in
                  stderr.  Passing True for this argument implies
                  `allow_stderr_warning` since warnings are weaker than errors.
              :param allow_stderr_warning: whether a logged warning (or
                  deprecation message) is allowed in stderr.
              :param expect_error: if False (the default), asserts that the command
                  exits with 0.  Otherwise, asserts that the command exits with a
                  non-zero exit code.  Passing True also implies allow_stderr_error
                  and allow_stderr_warning.
              :param expect_stderr: whether to allow warnings in stderr (equivalent
                  to `allow_stderr_warning`).  This argument is an abbreviated
                  version of `allow_stderr_warning` and is also kept for backwards
                  compatibility.
              """
              if self.verbose:
                  print('>> running %s %s' % (args, kw))
      
              cwd = kw.pop('cwd', None)
              run_from = kw.pop('run_from', None)
              assert not cwd or not run_from, "Don't use run_from; it's going away"
              cwd = cwd or run_from or self.cwd
              if sys.platform == 'win32':
                  # Partial fix for ScriptTest.run using `shell=True` on Windows.
                  args = [str(a).replace('^', '^^').replace('&', '^&') for a in args]
      
              # Remove `allow_stderr_error` and `allow_stderr_warning` before
              # calling run() because PipTestEnvironment doesn't support them.
              allow_stderr_error = kw.pop('allow_stderr_error', None)
              allow_stderr_warning = kw.pop('allow_stderr_warning', None)
      
              # Propagate default values.
              expect_error = kw.get('expect_error')
              if expect_error:
                  # Then default to allowing logged errors.
                  if allow_stderr_error is not None and not allow_stderr_error:
                      raise RuntimeError(
                          'cannot pass allow_stderr_error=False with '
                          'expect_error=True'
                      )
                  allow_stderr_error = True
      
              elif kw.get('expect_stderr'):
                  # Then default to allowing logged warnings.
                  if allow_stderr_warning is not None and not allow_stderr_warning:
                      raise RuntimeError(
                          'cannot pass allow_stderr_warning=False with '
                          'expect_stderr=True'
                      )
                  allow_stderr_warning = True
      
              if allow_stderr_error:
                  if allow_stderr_warning is not None and not allow_stderr_warning:
                      raise RuntimeError(
                          'cannot pass allow_stderr_warning=False with '
                          'allow_stderr_error=True'
                      )
      
              # Default values if not set.
              if allow_stderr_error is None:
                  allow_stderr_error = False
              if allow_stderr_warning is None:
                  allow_stderr_warning = allow_stderr_error
      
              # Pass expect_stderr=True to allow any stderr.  We do this because
              # we do our checking of stderr further on in check_stderr().
              kw['expect_stderr'] = True
      >       result = super(PipTestEnvironment, self).run(cwd=cwd, *args, **kw)
      E       AssertionError: Script returned code: 1
      tests/lib/__init__.py:586: AssertionError
      ----------------------------- Captured stdout call -----------------------------
      Script result: python -m pip install --no-binary=:all: -f file:///tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages/pep517_setup_and_pyproject
        return code: 1
      -- stderr: --------------------
        ERROR: Command errored out with exit status 1:
         command: /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/venv/bin/python /builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-build-env-ntp1m4dh/overlay --no-warn-script-location --no-binary :all: --only-binary :none: -i https://pypi.org/simple --find-links file:///tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages -- setuptools
             cwd: None
        Complete output (28 lines):
        Looking in links: file:///tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages
        WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f7234ef1e50>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
        WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f7234e92040>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
        WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f7234e921c0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
        WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f7234e92340>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
        WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f7234e924c0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
        Processing /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages/setuptools-0.9.6.tar.gz
            ERROR: Command errored out with exit status 1:
             command: /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/venv/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setup.py'"'"'; __file__='"'"'/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/pip-egg-info
                 cwd: /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/
            Complete output (15 lines):
            Traceback (most recent call last):
              File "<string>", line 1, in <module>
              File "/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setuptools/__init__.py", line 2, in <module>
                from setuptools.extension import Extension, Library
              File "/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setuptools/extension.py", line 5, in <module>
                from setuptools.dist import _get_unpatched
              File "/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setuptools/dist.py", line 7, in <module>
                from setuptools.command.install import install
              File "/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setuptools/command/__init__.py", line 8, in <module>
                from setuptools.command import install_scripts
              File "/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setuptools/command/install_scripts.py", line 3, in <module>
                from pkg_resources import Distribution, PathMetadata, ensure_directory
              File "/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/pkg_resources.py", line 1545, in <module>
                register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
            AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
            ----------------------------------------
        ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
        ----------------------------------------
      ERROR: Command errored out with exit status 1: /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/venv/bin/python /builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-build-env-ntp1m4dh/overlay --no-warn-script-location --no-binary :all: --only-binary :none: -i https://pypi.org/simple --find-links file:///tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages -- setuptools Check the logs for full command output.
      -- stdout: --------------------
      Looking in links: file:///tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages
      Processing /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages/pep517_setup_and_pyproject
        Installing build dependencies: started
        Installing build dependencies: finished with status 'error'
      _______________________ test_config_file_override_stack ________________________
      script = <tests.lib.PipTestEnvironment object at 0x7fe950d9b7f0>
      virtualenv = <VirtualEnvironment /tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/venv>
          def test_config_file_override_stack(script, virtualenv):
              """
              Test config files (global, overriding a global config with a
              local, overriding all with a command line flag).
      
              """
              fd, config_file = tempfile.mkstemp('-pip.cfg', 'test-')
              try:
      >           _test_config_file_override_stack(script, virtualenv, config_file)
      tests/functional/test_install_config.py:144:
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      tests/functional/test_install_config.py:172: in _test_config_file_override_stack
          result = script.pip(
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      self = <tests.lib.PipTestEnvironment object at 0x7fe950d9b7f0>
      args = ('python', '-m', 'pip', 'install', '-vvv', '--index-url', ...)
      kw = {'expect_stderr': True}
      cwd = Path('/tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/scratch')
      run_from = None, allow_stderr_error = False, allow_stderr_warning = False
      expect_error = None
          def run(self, *args, **kw):
              """
              :param allow_stderr_error: whether a logged error is allowed in
                  stderr.  Passing True for this argument implies
                  `allow_stderr_warning` since warnings are weaker than errors.
              :param allow_stderr_warning: whether a logged warning (or
                  deprecation message) is allowed in stderr.
              :param expect_error: if False (the default), asserts that the command
                  exits with 0.  Otherwise, asserts that the command exits with a
                  non-zero exit code.  Passing True also implies allow_stderr_error
                  and allow_stderr_warning.
              :param expect_stderr: whether to allow warnings in stderr (equivalent
                  to `allow_stderr_warning`).  This argument is an abbreviated
                  version of `allow_stderr_warning` and is also kept for backwards
                  compatibility.
              """
              if self.verbose:
                  print('>> running %s %s' % (args, kw))
      
              cwd = kw.pop('cwd', None)
              run_from = kw.pop('run_from', None)
              assert not cwd or not run_from, "Don't use run_from; it's going away"
              cwd = cwd or run_from or self.cwd
              if sys.platform == 'win32':
                  # Partial fix for ScriptTest.run using `shell=True` on Windows.
                  args = [str(a).replace('^', '^^').replace('&', '^&') for a in args]
      
              # Remove `allow_stderr_error` and `allow_stderr_warning` before
              # calling run() because PipTestEnvironment doesn't support them.
              allow_stderr_error = kw.pop('allow_stderr_error', None)
              allow_stderr_warning = kw.pop('allow_stderr_warning', None)
      
              # Propagate default values.
              expect_error = kw.get('expect_error')
              if expect_error:
                  # Then default to allowing logged errors.
                  if allow_stderr_error is not None and not allow_stderr_error:
                      raise RuntimeError(
                          'cannot pass allow_stderr_error=False with '
                          'expect_error=True'
                      )
                  allow_stderr_error = True
      
              elif kw.get('expect_stderr'):
                  # Then default to allowing logged warnings.
                  if allow_stderr_warning is not None and not allow_stderr_warning:
                      raise RuntimeError(
                          'cannot pass allow_stderr_warning=False with '
                          'expect_stderr=True'
                      )
                  allow_stderr_warning = True
      
              if allow_stderr_error:
                  if allow_stderr_warning is not None and not allow_stderr_warning:
                      raise RuntimeError(
                          'cannot pass allow_stderr_warning=False with '
                          'allow_stderr_error=True'
                      )
      
              # Default values if not set.
              if allow_stderr_error is None:
                  allow_stderr_error = False
              if allow_stderr_warning is None:
                  allow_stderr_warning = allow_stderr_error
      
              # Pass expect_stderr=True to allow any stderr.  We do this because
              # we do our checking of stderr further on in check_stderr().
              kw['expect_stderr'] = True
      >       result = super(PipTestEnvironment, self).run(cwd=cwd, *args, **kw)
      E       AssertionError: Script returned code: 1
      tests/lib/__init__.py:586: AssertionError
      ----------------------------- Captured stdout call -----------------------------
      Script result: python -m pip install -vvv --index-url https://pypi.org/simple/ INITools
        return code: 1
      -- stderr: --------------------
      WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f9669c3d8b0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
      WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f9669c3da60>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
      WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f9669c3dbe0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
      WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f9669c3dd60>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
      WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f966900f490>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
      ERROR: Could not find a version that satisfies the requirement INITools (from versions: none)
      ERROR: No matching distribution found for INITools
      -- stdout: --------------------
      Created temporary directory: /tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/tmp/pip-ephem-wheel-cache-6gj33ens
      Created temporary directory: /tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/tmp/pip-req-tracker-s7_2cwgc
      Created requirements tracker '/tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/tmp/pip-req-tracker-s7_2cwgc'
      Created temporary directory: /tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/tmp/pip-install-_91mh3df
      Looking in indexes: https://pypi.org/simple/
      1 location(s) to search for versions of INITools:
      * https://pypi.org/simple/initools/
      Getting page https://pypi.org/simple/initools/
      Found index url https://pypi.org/simple/
      Looking up "https://pypi.org/simple/initools/" in the cache
      Request header has "max_age" as 0, cache bypassed
      Starting new HTTPS connection (1): pypi.org:443
      Incremented Retry for (url='/simple/initools/'): Retry(total=4, connect=None, read=None, redirect=None, status=None)
      Starting new HTTPS connection (2): pypi.org:443
      Incremented Retry for (url='/simple/initools/'): Retry(total=3, connect=None, read=None, redirect=None, status=None)
      Starting new HTTPS connection (3): pypi.org:443
      Incremented Retry for (url='/simple/initools/'): Retry(total=2, connect=None, read=None, redirect=None, status=None)
      Starting new HTTPS connection (4): pypi.org:443
      Incremented Retry for (url='/simple/initools/'): Retry(total=1, connect=None, read=None, redirect=None, status=None)
      Starting new HTTPS connection (5): pypi.org:443
      Incremented Retry for (url='/simple/initools/'): Retry(total=0, connect=None, read=None, redirect=None, status=None)
      Starting new HTTPS connection (6): pypi.org:443
      Could not fetch URL https://pypi.org/simple/initools/: connection error: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/initools/ (Caused by NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f9669c15b50>: Failed to establish a new connection: [Errno -2] Name or service not known')) - skipping
      Given no hashes to check 0 links for project 'INITools': discarding no candidates
      Cleaning up...
      Removed build tracker '/tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/tmp/pip-req-tracker-s7_2cwgc'
      Exception information:
      Traceback (most recent call last):
        File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 153, in _main
          status = self.run(options, args)
        File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 401, in run
          resolver.resolve(requirement_set)
        File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 202, in resolve
          self._resolve_one(requirement_set, req)
        File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 368, in _resolve_one
          abstract_dist = self._get_abstract_dist_for(req_to_install)
        File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 314, in _get_abstract_dist_for
          req.populate_link(self.finder, upgrade_allowed, self.require_hashes)
        File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/req/req_install.py", line 226, in populate_link
          self.link = finder.find_requirement(self, upgrade)
        File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/index.py", line 905, in find_requirement
          raise DistributionNotFound(
      pip._internal.exceptions.DistributionNotFound: No matching distribution found for INITools
      _______________________ test_no_upgrade_unless_requested _______________________
      script = <tests.lib.PipTestEnvironment object at 0x7fe950d86070>
          def test_no_upgrade_unless_requested(script):
              """
              No upgrade if not specifically requested.
      
              """
      >       script.pip('install', 'INITools==0.1')
      tests/functional/test_install_upgrade.py:16:
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      self = <tests.lib.PipTestEnvironment object at 0x7fe950d86070>
      args = ('python', '-m', 'pip', 'install', 'INITools==0.1')
      kw = {'expect_stderr': True}
      cwd = Path('/tmp/pytest-of-mockbuild/pytest-0/test_no_upgrade_unless_request0/workspace/scratch')
      run_from = None, allow_stderr_error = False, allow_stderr_warning = False
      expect_error = None
          def run(self, *args, **kw):
              """
              :param allow_stderr_error: whether a logged error is allowed in
                  stderr.  Passing True for this argument implies
                  `allow_stderr_warning` since warnings are weaker than errors.
              :param allow_stderr_warning: whether a logged warning (or
                  deprecation message) is allowed in stderr.
              :param expect_error: if False (the default), asserts that the command
                  exits with 0.  Otherwise, asserts that the command exits with a
                  non-zero exit code.  Passing True also implies allow_stderr_error
                  and allow_stderr_warning.
              :param expect_stderr: whether to allow warnings in stderr (equivalent
                  to `allow_stderr_warning`).  This argument is an abbreviated
                  version of `allow_stderr_warning` and is also kept for backwards
                  compatibility.
              """
              if self.verbose:
                  print('>> running %s %s' % (args, kw))
      
              cwd = kw.pop('cwd', None)
              run_from = kw.pop('run_from', None)
              assert not cwd or not run_from, "Don't use run_from; it's going away"
              cwd = cwd or run_from or self.cwd
              if sys.platform == 'win32':
                  # Partial fix for ScriptTest.run using `shell=True` on Windows.
                  args = [str(a).replace('^', '^^').replace('&', '^&') for a in args]
      
              # Remove `allow_stderr_error` and `allow_stderr_warning` before
              # calling run() because PipTestEnvironment doesn't support them.
              allow_stderr_error = kw.pop('allow_stderr_error', None)
              allow_stderr_warning = kw.pop('allow_stderr_warning', None)
      
              # Propagate default values.
              expect_error = kw.get('expect_error')
              if expect_error:
                  # Then default to allowing logged errors.
                  if allow_stderr_error is not None and not allow_stderr_error:
                      raise RuntimeError(
                          'cannot pass allow_stderr_error=False with '
                          'expect_error=True'
                      )
                  allow_stderr_error = True
      
              elif kw.get('expect_stderr'):
                  # Then default to allowing logged warnings.
                  if allow_stderr_warning is not None and not allow_stderr_warning:
                      raise RuntimeError(
                          'cannot pass allow_stderr_warning=False with '
                          'expect_stderr=True'
                      )
                  allow_stderr_warning = True
      
              if allow_stderr_error:
                  if allow_stderr_warning is not None and not allow_stderr_warning:
                      raise RuntimeError(
                          'cannot pass allow_stderr_warning=False with '
                          'allow_stderr_error=True'
                      )
      
              # Default values if not set.
              if allow_stderr_error is None:
                  allow_stderr_error = False
              if allow_stderr_warning is None:
                  allow_stderr_warning = allow_stderr_error
      
              # Pass expect_stderr=True to allow any stderr.  We do this because
              # we do our checking of stderr further on in check_stderr().
              kw['expect_stderr'] = True
      >       result = super(PipTestEnvironment, self).run(cwd=cwd, *args, **kw)
      E       AssertionError: Script returned code: 1
      tests/lib/__init__.py:586: AssertionError
      ----------------------------- Captured stdout call -----------------------------
      Script result: python -m pip install INITools==0.1
        return code: 1
      -- stderr: --------------------
      WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fd66cc36700>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
      WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fd66cc36c40>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
      WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fd66cc36dc0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
      WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fd66cc36f40>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
      WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fd66be48100>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
      ERROR: Could not find a version that satisfies the requirement INITools==0.1 (from versions: none)
      ERROR: No matching distribution found for INITools==0.1
      e5212281
  17. 09 10月, 2019 1 次提交
  18. 14 9月, 2019 1 次提交
  19. 11 8月, 2019 1 次提交
  20. 03 7月, 2019 1 次提交
  21. 19 6月, 2018 1 次提交
  22. 17 4月, 2018 1 次提交
  23. 21 11月, 2017 1 次提交
  24. 13 6月, 2017 1 次提交
  25. 16 5月, 2017 1 次提交
  26. 24 3月, 2017 2 次提交
  27. 23 3月, 2017 1 次提交
  28. 21 3月, 2017 1 次提交
  29. 19 3月, 2017 1 次提交
  30. 19 9月, 2016 1 次提交
  31. 23 6月, 2016 1 次提交
  32. 19 5月, 2016 1 次提交
  33. 02 1月, 2016 1 次提交
  34. 02 6月, 2015 1 次提交
  35. 28 5月, 2015 1 次提交
  36. 10 5月, 2015 1 次提交
  37. 24 4月, 2015 1 次提交
    • R
      Issue #2675: Granular control over wheels/sdists · 6aec23ca
      Robert Collins 提交于
      With wheel autobuilding in place a release blocker is some granular
      way to opt-out of wheels for known-bad packages. This patch introduces
      two new options: --no-binary and --only-binary to control what
      archives we are willing to use on both a global and per-package basis.
      
      This also closes #2084
      6aec23ca