我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用pkg_resources.__setstate__()。
def test_setup_requires_overrides_version_conflict(self): """ Regression test for issue #323. Ensures that a distribution's setup_requires requirements can still be installed and used locally even if a conflicting version of that requirement is already on the path. """ pr_state = pkg_resources.__getstate__() fake_dist = PRDistribution('does-not-matter', project_name='foobar', version='0.0') working_set.add(fake_dist) try: with tempdir_context() as temp_dir: test_pkg = create_setup_requires_package(temp_dir) test_setup_py = os.path.join(test_pkg, 'setup.py') with quiet_context() as (stdout, stderr): with reset_setup_stop_context(): try: # Don't even need to install the package, just # running the setup.py at all is sufficient run_setup(test_setup_py, ['--name']) except VersionConflict: self.fail('Installing setup.py requirements ' 'caused a VersionConflict') lines = stdout.readlines() self.assertTrue(len(lines) > 0) self.assertTrue(lines[-1].strip(), 'test_pkg') finally: pkg_resources.__setstate__(pr_state)
def save_pkg_resources_state(): saved = pkg_resources.__getstate__() try: yield saved finally: pkg_resources.__setstate__(saved)