| 70 | implementation = attr.ib(init=False) # type: Optional[InterpreterImplementation.Value] |
| 71 | |
| 72 | def __attrs_post_init__(self): |
| 73 | interpreter_implementation = None # type: Optional[InterpreterImplementation.Value] |
| 74 | for interpreter_impl in InterpreterImplementation.values(): |
| 75 | if interpreter_impl.value == self.marker_environment.platform_python_implementation: |
| 76 | interpreter_implementation = interpreter_impl |
| 77 | break |
| 78 | object.__setattr__(self, "implementation", interpreter_implementation) |
| 79 | |
| 80 | def binary_name(self, version_components=2): |
| 81 | # type: (int) -> str |