29 lines
816 B
Python
29 lines
816 B
Python
from __future__ import annotations
|
|
|
|
import os
|
|
from collections import OrderedDict
|
|
|
|
from virtualenv.activation.via_template import ViaTemplateActivator
|
|
|
|
|
|
class PythonActivator(ViaTemplateActivator):
|
|
def templates(self):
|
|
yield "activate_this.py"
|
|
|
|
def replacements(self, creator, dest_folder):
|
|
replacements = super().replacements(creator, dest_folder)
|
|
lib_folders = OrderedDict((os.path.relpath(str(i), str(dest_folder)), None) for i in creator.libs)
|
|
lib_folders = os.pathsep.join(lib_folders.keys()).replace("\\", "\\\\") # escape Windows path characters
|
|
replacements.update(
|
|
{
|
|
"__LIB_FOLDERS__": lib_folders,
|
|
"__DECODE_PATH__": "",
|
|
},
|
|
)
|
|
return replacements
|
|
|
|
|
|
__all__ = [
|
|
"PythonActivator",
|
|
]
|