Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix conda bug - not resolving environment #1456

Merged
merged 5 commits into from Jan 18, 2023
Merged

Fix conda bug - not resolving environment #1456

merged 5 commits into from Jan 18, 2023

Conversation

jan-janssen
Copy link
Member

No description provided.

@jan-janssen
Copy link
Member Author

File /usr/share/miniconda3/envs/test/lib/python3.10/site-packages/pyiron_atomistics/atomistics/structure/factories/materialsproject.py:2
[2404](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2405)
      1 from typing import Union, List
[2405](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2406)
----> 2 from mp_api.client import MPRester
[2406](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2407)
      3 from pyiron_atomistics.atomistics.structure.has_structure import HasStructure
[2407](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2408)
      4 from pyiron_atomistics.atomistics.structure.structurestorage import StructureStorage
[2408](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2409)

[2409](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2410)
File /usr/share/miniconda3/envs/test/lib/python3.10/site-packages/mp_api/client/__init__.py:13
[2410](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2411)
     11 except (ImportError, LookupError):  # pragma: no cover
[2411](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2412)
     12     try:
[2412](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2413)
---> 13         __version__ = get_distribution(__package__).version
[2413](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2414)
     14     except DistributionNotFound:  # pragma: no cover
[2414](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2415)
     15         __version__ = os.environ.get("SETUPTOOLS_SCM_PRETEND_VERSION", None)
[2415](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2416)

[2416](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2417)
File /usr/share/miniconda3/envs/test/lib/python3.10/site-packages/pkg_resources/__init__.py:514, in get_distribution(dist)
[2417](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2418)
    512     dist = Requirement.parse(dist)
[2418](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2419)
    513 if isinstance(dist, Requirement):
[2419](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2420)
--> 514     dist = get_provider(dist)
[2420](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2421)
    515 if not isinstance(dist, Distribution):
[2421](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2422)
    516     raise TypeError("Expected string, Requirement, or Distribution", dist)
[2422](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2423)

[2423](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2424)
File /usr/share/miniconda3/envs/test/lib/python3.10/site-packages/pkg_resources/__init__.py:386, in get_provider(moduleOrReq)
[2424](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2425)
    384 """Return an IResourceProvider for the named module or requirement"""
[2425](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2426)
    385 if isinstance(moduleOrReq, Requirement):
[2426](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2427)
--> 386     return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
[2427](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2428)
    387 try:
[2428](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2429)
    388     module = sys.modules[moduleOrReq]
[2429](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2430)

[2430](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2431)
File /usr/share/miniconda3/envs/test/lib/python3.10/site-packages/pkg_resources/__init__.py:956, in WorkingSet.require(self, *requirements)
[2431](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2432)
    947 def require(self, *requirements):
[2432](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2433)
    948     """Ensure that distributions matching `requirements` are activated
[2433](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2434)
    949 
[2434](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2435)
    950     `requirements` must be a string or a (possibly-nested) sequence
[2435](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2436)
   (...)
[2436](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2437)
    954     included, even if they were already activated in this working set.
[2437](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2438)
    955     """
[2438](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2439)
--> 956     needed = self.resolve(parse_requirements(requirements))
[2439](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2440)
    958     for dist in needed:
[2440](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2441)
    959         self.add(dist)
[2441](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2442)

[2442](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2443)
File /usr/share/miniconda3/envs/test/lib/python3.10/site-packages/pkg_resources/__init__.py:815, in WorkingSet.resolve(self, requirements, env, installer, replace_conflicting, extras)
[2443](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2444)
    812 if not req_extras.markers_pass(req, extras):
[2444](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2445)
    813     continue
[2445](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2446)
--> 815 dist = self._resolve_dist(
[2446](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2447)
    816     req, best, replace_conflicting, env, installer, required_by, to_activate
[2447](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2448)
    817 )
[2448](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2449)
    819 # push the new requirements onto the stack
[2449](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2450)
    820 new_requirements = dist.requires(req.extras)[::-1]
[2450](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2451)

[2451](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2452)
File /usr/share/miniconda3/envs/test/lib/python3.10/site-packages/pkg_resources/__init__.py:844, in WorkingSet._resolve_dist(self, req, best, replace_conflicting, env, installer, required_by, to_activate)
[2452](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2453)
    842 if env is None:
[2453](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2454)
    843     if dist is None:
[2454](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2455)
--> 844         env = Environment(self.entries)
[2455](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2456)
    845     else:
[2456](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2457)
    846         # Use an empty environment and workingset to avoid
[2457](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2458)
    847         # any further conflicts with the conflicting
[2458](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2459)
    848         # distribution
[2459](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2460)
    849         env = Environment([])
[2460](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2461)

[2461](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2462)
File /usr/share/miniconda3/envs/test/lib/python3.10/site-packages/pkg_resources/__init__.py:1044, in Environment.__init__(self, search_path, platform, python)
[2462](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2463)
   1042 self.platform = platform
[2463](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2464)
   1043 self.python = python
[2464](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2465)
-> 1044 self.scan(search_path)
[2465](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2466)

[2466](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2467)
File /usr/share/miniconda3/envs/test/lib/python3.10/site-packages/pkg_resources/__init__.py:1077, in Environment.scan(self, search_path)
[2467](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2468)
   1075 for item in search_path:
[2468](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2469)
   1076     for dist in find_distributions(item):
[2469](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2470)
-> 1077         self.add(dist)
[2470](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2471)

[2471](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2472)
File /usr/share/miniconda3/envs/test/lib/python3.10/site-packages/pkg_resources/__init__.py:1096, in Environment.add(self, dist)
[2472](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2473)
   1094 if dist not in dists:
[2473](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2474)
   1095     dists.append(dist)
[2474](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2475)
-> 1096     dists.sort(key=operator.attrgetter('hashcmp'), reverse=True)
[2475](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2476)

[2476](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2477)
File /usr/share/miniconda3/envs/test/lib/python3.10/site-packages/pkg_resources/__init__.py:2631, in Distribution.hashcmp(self)
[2477](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2478)
   2628 @property
[2478](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2479)
   2629 def hashcmp(self):
[2479](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2480)
   2630     return (
[2480](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2481)
-> 2631         self.parsed_version,
[2481](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2482)
   2632         self.precedence,
[2482](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2483)
   2633         self.key,
[2483](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2484)
   2634         self.location,
[2484](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2485)
   2635         self.py_version or '',
[2485](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2486)
   2636         self.platform or '',
[2486](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2487)
   2637     )
[2487](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2488)

[2488](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2489)
File /usr/share/miniconda3/envs/test/lib/python3.10/site-packages/pkg_resources/__init__.py:2678, in Distribution.parsed_version(self)
[2489](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2490)
   2675 @property
[2490](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2491)
   2676 def parsed_version(self):
[2491](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2492)
   2677     if not hasattr(self, "_parsed_version"):
[2492](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2493)
-> 2678         self._parsed_version = parse_version(self.version)
[2493](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2494)
   2680     return self._parsed_version
[2494](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2495)

[2495](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2496)
File /usr/share/miniconda3/envs/test/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/version.py:266, in Version.__init__(self, version)
[2496](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2497)
    264 match = self._regex.search(version)
[2497](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2498)
    265 if not match:
[2498](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2499)
--> 266     raise InvalidVersion(f"Invalid version: '{version}'")
[2499](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2500)
    268 # Store the parsed out pieces of the version
[2500](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2501)
    269 self._version = _Version(
[2501](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2502)
    270     epoch=int(match.group("epoch")) if match.group("epoch") else 0,
[2502](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2503)
    271     release=tuple(int(i) for i in match.group("release").split(".")),
[2503](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2504)
   (...)
[2504](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2505)
    277     local=_parse_local_version(match.group("local")),
[2505](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2506)
    278 )
[2506](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2507)

[2507](https://github.com/pyiron/pyiron/actions/runs/3944340592/jobs/6750130091#step:6:2508)
InvalidVersion: Invalid version: 'NOT-A-GIT-REPOSITORY'

The issue seems to be related to the mp_api package from mp_api.client import MPRester

@pmrv
Copy link
Contributor

pmrv commented Jan 18, 2023

I've made an issue with mp-api folks, in the mean time we can try to downgrade setuptools on the cluster.

@jan-janssen jan-janssen reopened this Jan 18, 2023
@jan-janssen
Copy link
Member Author

I've made an issue with mp-api folks, in the mean time we can try to downgrade setuptools on the cluster.

Downgrading setuptools works but it is kind of ugly.

@jan-janssen jan-janssen merged commit 82b7593 into main Jan 18, 2023
@delete-merged-branch delete-merged-branch bot deleted the conda_bug branch January 18, 2023 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants