__init__.py 868 B

1234567891011121314151617181920212223242526272829303132
  1. from __future__ import annotations
  2. from pathlib import Path
  3. from typing import TYPE_CHECKING
  4. from virtualenv.activation.via_template import ViaTemplateActivator
  5. if TYPE_CHECKING:
  6. from collections.abc import Iterator
  7. from virtualenv.create.creator import Creator
  8. class BashActivator(ViaTemplateActivator):
  9. def templates(self) -> Iterator[str]:
  10. yield "activate.sh"
  11. def as_name(self, template: str) -> str:
  12. return Path(template).stem
  13. def replacements(self, creator: Creator, dest_folder: Path) -> dict[str, str]:
  14. data = super().replacements(creator, dest_folder)
  15. data.update({
  16. "__TCL_LIBRARY__": getattr(creator.interpreter, "tcl_lib", None) or "",
  17. "__TK_LIBRARY__": getattr(creator.interpreter, "tk_lib", None) or "",
  18. })
  19. return data
  20. __all__ = [
  21. "BashActivator",
  22. ]