diff --git a/README.md b/README.md index 7badb74..988c058 100644 --- a/README.md +++ b/README.md @@ -70,3 +70,14 @@ pipenv ``` You can specify a non-default location of this file by setting a `ASDF_PYTHON_DEFAULT_PACKAGES_FILE` variable. + +### Upgrade pip before installing Default Python packages + +In some cases (older verisons of pip - which come with older versions of Python) unpinned package versions in `$HOME/.default-python-packages` (or `ASDF_PYTHON_DEFAULT_PACKAGES_FILE` environment variable) may cause errors during pip install - due to latest package dependency versions not being available. + +You can set the environment variable `ASDF_PYTHON_PKGS_UPGRADE_PIP_FIRST` (to either `true` or `True`) to first upgrade your pip version, before installing pacakges from `$HOME/.default-python-packages` (or `ASDF_PYTHON_DEFAULT_PACKAGES_FILE` environment variable): + +``` +export ASDF_PYTHON_PKGS_UPGRADE_PIP_FIRST=true +asdf install python 3.6.15 +``` diff --git a/bin/install b/bin/install index 3c4219c..2963508 100755 --- a/bin/install +++ b/bin/install @@ -34,6 +34,10 @@ install_default_python_packages() { local packages_file="${ASDF_PYTHON_DEFAULT_PACKAGES_FILE:-$HOME/.default-python-packages}" if [ -f "$packages_file" ]; then + if [[ "${ASDF_PYTHON_PKGS_UPGRADE_PIP_FIRST:-}" =~ ^t|True ]]; then + echo "pip install --upgrade pip" + PATH="$ASDF_INSTALL_PATH/bin:$PATH" pip install --upgrade pip + fi echo -ne "\nInstalling default python packages..." PATH="$ASDF_INSTALL_PATH/bin:$PATH" pip install -U -r "$packages_file" fi