| ... | ... |
@@ -247,6 +247,21 @@ A clean install every time |
| 247 | 247 |
|
| 248 | 248 |
RECLONE=yes |
| 249 | 249 |
|
| 250 |
+Upgrade packages installed by pip |
|
| 251 |
+--------------------------------- |
|
| 252 |
+ |
|
| 253 |
+ | *Default: ``PIP_UPGRADE=""``* |
|
| 254 |
+ | By default ``stack.sh`` only installs Python packages if no version |
|
| 255 |
+ is currently installed or the current version does not match a specified |
|
| 256 |
+ requirement. If ``PIP_UPGRADE`` is set to ``True`` then existing required |
|
| 257 |
+ Python packages will be upgraded to the most recent version that |
|
| 258 |
+ matches requirements. |
|
| 259 |
+ | |
|
| 260 |
+ |
|
| 261 |
+ :: |
|
| 262 |
+ |
|
| 263 |
+ PIP_UPGRADE=True |
|
| 264 |
+ |
|
| 250 | 265 |
Swift |
| 251 | 266 |
----- |
| 252 | 267 |
|
| ... | ... |
@@ -54,17 +54,23 @@ function get_python_exec_prefix {
|
| 54 | 54 |
|
| 55 | 55 |
# Wrapper for ``pip install`` to set cache and proxy environment variables |
| 56 | 56 |
# Uses globals ``INSTALL_TESTONLY_PACKAGES``, ``OFFLINE``, ``PIP_VIRTUAL_ENV``, |
| 57 |
-# ``TRACK_DEPENDS``, ``*_proxy`` |
|
| 57 |
+# ``PIP_UPGRADE``, ``TRACK_DEPENDS``, ``*_proxy`` |
|
| 58 | 58 |
# pip_install package [package ...] |
| 59 | 59 |
function pip_install {
|
| 60 | 60 |
local xtrace=$(set +o | grep xtrace) |
| 61 | 61 |
set +o xtrace |
| 62 |
+ local upgrade="" |
|
| 62 | 63 |
local offline=${OFFLINE:-False}
|
| 63 | 64 |
if [[ "$offline" == "True" || -z "$@" ]]; then |
| 64 | 65 |
$xtrace |
| 65 | 66 |
return |
| 66 | 67 |
fi |
| 67 | 68 |
|
| 69 |
+ PIP_UPGRADE=$(trueorfalse False PIP_UPGRADE) |
|
| 70 |
+ if [[ "$PIP_UPGRADE" = "True" ]] ; then |
|
| 71 |
+ upgrade="--upgrade" |
|
| 72 |
+ fi |
|
| 73 |
+ |
|
| 68 | 74 |
if [[ -z "$os_PACKAGE" ]]; then |
| 69 | 75 |
GetOSVersion |
| 70 | 76 |
fi |
| ... | ... |
@@ -98,7 +104,7 @@ function pip_install {
|
| 98 | 98 |
https_proxy="${https_proxy:-}" \
|
| 99 | 99 |
no_proxy="${no_proxy:-}" \
|
| 100 | 100 |
PIP_FIND_LINKS=$PIP_FIND_LINKS \ |
| 101 |
- $cmd_pip install \ |
|
| 101 |
+ $cmd_pip install $upgrade \ |
|
| 102 | 102 |
$@ |
| 103 | 103 |
|
| 104 | 104 |
# Also install test requirements |
| ... | ... |
@@ -110,7 +116,7 @@ function pip_install {
|
| 110 | 110 |
https_proxy=${https_proxy:-} \
|
| 111 | 111 |
no_proxy=${no_proxy:-} \
|
| 112 | 112 |
PIP_FIND_LINKS=$PIP_FIND_LINKS \ |
| 113 |
- $cmd_pip install \ |
|
| 113 |
+ $cmd_pip install $upgrade \ |
|
| 114 | 114 |
-r $test_req |
| 115 | 115 |
fi |
| 116 | 116 |
} |