|
|
|
#!/usr/bin/env bash
|
|
|
|
# shellcheck disable=SC2230
|
|
|
|
# vim:ts=4:sts=4:sw=4:et
|
|
|
|
#
|
|
|
|
# Author: Hari Sekhon
|
|
|
|
# Date: circa 2006 (forked from .bashrc)
|
|
|
|
#
|
|
|
|
# https://github.com/harisekhon/bash-tools
|
|
|
|
#
|
|
|
|
# License: see accompanying Hari Sekhon LICENSE file
|
|
|
|
#
|
|
|
|
# If you're using my code you're welcome to connect with me on LinkedIn and optionally send me feedback to help steer this or other code I publish
|
|
|
|
#
|
|
|
|
# https://www.linkedin.com/in/harisekhon
|
|
|
|
#
|
|
|
|
|
|
|
|
# ============================================================================ #
|
|
|
|
# P y t h o n
|
|
|
|
# ============================================================================ #
|
|
|
|
|
|
|
|
bash_tools="${bash_tools:-$(dirname "${BASH_SOURCE[0]}")/..}"
|
|
|
|
|
|
|
|
# shellcheck disable=SC1090
|
|
|
|
. "$bash_tools/.bash.d/os_detection.sh"
|
|
|
|
|
|
|
|
if ! type add_PATHS &>/dev/null ; then
|
|
|
|
# shellcheck disable=SC1090
|
|
|
|
. "$bash_tools/.bash.d/paths.sh"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# see the effect of inserting a path like so
|
|
|
|
# PYTHONPATH=/path/to/blah pythonpath
|
|
|
|
pythonpath(){
|
|
|
|
python -c 'from __future__ import print_function; import sys; [print(_) for _ in sys.path if _]'
|
|
|
|
}
|
|
|
|
# enable this to avoid creating .pyc files (sometimes they trip you up executing outdated python code)
|
|
|
|
# export PYTHONDONTWRITEBYTECODE=1
|
|
|
|
|
|
|
|
if isMac; then
|
|
|
|
# try to find pip in brew installed Python versions since it is
|
|
|
|
# not in /System/Library/Frameworks/Python.framework/Versions/2.7/bin
|
|
|
|
for dir in /usr/local/Cellar/python*; do
|
|
|
|
if [ -d "$dir" ]; then
|
|
|
|
add_PATH "$dir/bin"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -d ~/Library/Python ]; then
|
|
|
|
for x in ~/Library/Python/*/bin; do
|
|
|
|
[ -d "$x" ] || continue
|
|
|
|
add_PATH "$x"
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
|
|
|
|
alias lspythonbin='ls -d ~/Library/Python/*/bin/* 2>/dev/null'
|
|
|
|
alias llpythonbin='ls -ld ~/Library/Python/*/bin/* 2>/dev/null'
|
|
|
|
alias lspybin=lspythonbin
|
|
|
|
alias llpybin=llpythonbin
|
|
|
|
|
|
|
|
# RHEL8 has split python2 / python3 and removed default 'python' :-(
|
|
|
|
if ! type -P python &>/dev/null; then
|
|
|
|
if type -P python2 &>/dev/null; then
|
|
|
|
python(){ python2 "$@"; }
|
|
|
|
elif type -P python3 &>/dev/null; then
|
|
|
|
python(){ python3 "$@"; }
|
|
|
|
fi
|
|
|
|
fi
|