2
2
3
3
PYTHON_FULL_VERSION=" {{__VERSION_FULL__}}"
4
4
PYTHON_PKG_NAME=" {{__PKG_NAME__}}"
5
+ PYTHON_FRAMEWORK_NAME=" {{__FRAMEWORK_NAME__}}"
6
+ PYTHON_PKG_CHOICES=$( cat << 'EOF '
7
+ {{__PKG_CHOICES__}}
8
+ EOF
9
+ )
5
10
ARCH=" {{__ARCH__}}"
6
11
MAJOR_VERSION=$( echo $PYTHON_FULL_VERSION | cut -d ' .' -f 1)
7
12
MINOR_VERSION=$( echo $PYTHON_FULL_VERSION | cut -d ' .' -f 2)
20
25
PYTHON_TOOLCACHE_PATH=$TOOLCACHE_ROOT /Python
21
26
PYTHON_TOOLCACHE_VERSION_PATH=$PYTHON_TOOLCACHE_PATH /$PYTHON_FULL_VERSION
22
27
PYTHON_TOOLCACHE_VERSION_ARCH_PATH=$PYTHON_TOOLCACHE_VERSION_PATH /$ARCH
23
- PYTHON_FRAMEWORK_PATH=" /Library/Frameworks/Python.framework /Versions/${MAJOR_VERSION} .${MINOR_VERSION} "
28
+ PYTHON_FRAMEWORK_PATH=" /Library/Frameworks/${PYTHON_FRAMEWORK_NAME} /Versions/${MAJOR_VERSION} .${MINOR_VERSION} "
24
29
PYTHON_APPLICATION_PATH=" /Applications/Python ${MAJOR_VERSION} .${MINOR_VERSION} "
25
30
26
31
echo " Check if Python hostedtoolcache folder exist..."
38
43
done
39
44
fi
40
45
46
+ PYTHON_PKG_CHOICES_FILES=$( mktemp)
47
+ echo " $PYTHON_PKG_CHOICES " > $PYTHON_PKG_CHOICES_FILES
48
+
41
49
echo " Install Python binaries from prebuilt package"
42
- sudo installer -pkg $PYTHON_PKG_NAME -target /
50
+ sudo installer -pkg $PYTHON_PKG_NAME -applyChoiceChangesXML $PYTHON_PKG_CHOICES_FILES - target /
43
51
44
52
echo " Create hostedtoolcach symlinks (Required for the backward compatibility)"
45
53
echo " Create Python $PYTHON_FULL_VERSION folder"
@@ -53,7 +61,9 @@ ln -s "${PYTHON_FRAMEWORK_PATH}/lib" lib
53
61
54
62
echo " Create additional symlinks (Required for the UsePythonVersion Azure Pipelines task and the setup-python GitHub Action)"
55
63
ln -s ./bin/$PYTHON_MAJOR_DOT_MINOR python
64
+ chmod +x python
56
65
66
+ # Note that bin is a symlink so referencing .. from bin will not work as expected
57
67
cd bin/
58
68
59
69
# This symlink already exists if Python version with the same major.minor version is installed,
@@ -62,11 +72,15 @@ if [ ! -f $PYTHON_MAJOR_MINOR ]; then
62
72
ln -s $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJOR_MINOR
63
73
fi
64
74
75
+ if [ ! -f $PYTHON_MAJOR ]; then
76
+ ln -s $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJOR
77
+ fi
78
+
65
79
if [ ! -f python ]; then
66
80
ln -s $PYTHON_MAJOR_DOT_MINOR python
67
81
fi
68
82
69
- chmod +x ../python $PYTHON_MAJOR $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJOR_MINOR python
83
+ chmod +x $PYTHON_MAJOR $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJOR_MINOR python
70
84
71
85
echo " Upgrading pip..."
72
86
export PIP_ROOT_USER_ACTION=ignore
0 commit comments