|  |  |  | @ -10,18 +10,50 @@ if [ "$(uname)" == "Darwin" ] && [ $SHELL == "/bin/bash" ]; then | 
			
		
	
		
			
				
					|  |  |  |  |   RC_FILE="$HOME/.bash_profile" | 
			
		
	
		
			
				
					|  |  |  |  | fi | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | export MAKEFLAGS="-j$(nproc)" | 
			
		
	
		
			
				
					|  |  |  |  | if ! command -v "pyenv" > /dev/null 2>&1; then | 
			
		
	
		
			
				
					|  |  |  |  |   echo "pyenv install ..." | 
			
		
	
		
			
				
					|  |  |  |  |   curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash | 
			
		
	
		
			
				
					|  |  |  |  |   PYENV_PATH_SETUP="export PATH=\$HOME/.pyenv/bin:\$HOME/.pyenv/shims:\$PATH" | 
			
		
	
		
			
				
					|  |  |  |  | fi | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | if [ -z "$PYENV_SHELL" ] || [ -n "$PYENV_PATH_SETUP" ]; then | 
			
		
	
		
			
				
					|  |  |  |  |   echo "pyenvrc setup ..." | 
			
		
	
		
			
				
					|  |  |  |  |   cat <<EOF > "${HOME}/.pyenvrc" | 
			
		
	
		
			
				
					|  |  |  |  | if [ -z "\$PYENV_ROOT" ]; then | 
			
		
	
		
			
				
					|  |  |  |  |   $PYENV_PATH_SETUP | 
			
		
	
		
			
				
					|  |  |  |  |   export PYENV_ROOT="\$HOME/.pyenv" | 
			
		
	
		
			
				
					|  |  |  |  |   eval "\$(pyenv init -)" | 
			
		
	
		
			
				
					|  |  |  |  |   eval "\$(pyenv virtualenv-init -)" | 
			
		
	
		
			
				
					|  |  |  |  | fi | 
			
		
	
		
			
				
					|  |  |  |  | EOF | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   SOURCE_PYENVRC="source ~/.pyenvrc" | 
			
		
	
		
			
				
					|  |  |  |  |   if ! grep "^$SOURCE_PYENVRC$" $RC_FILE > /dev/null; then | 
			
		
	
		
			
				
					|  |  |  |  |     printf "\n$SOURCE_PYENVRC\n" >> $RC_FILE | 
			
		
	
		
			
				
					|  |  |  |  |   fi | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | echo "update pip" | 
			
		
	
		
			
				
					|  |  |  |  | if [ ! -z "$VIRTUAL_ENV_ROOT" ] || [ ! -z "$INSTALL_DEADSNAKES_PPA" ] ; then | 
			
		
	
		
			
				
					|  |  |  |  |   if [ -z "$VIRTUAL_ENV_ROOT" ]; then | 
			
		
	
		
			
				
					|  |  |  |  |     export VIRTUAL_ENV_ROOT="venv" | 
			
		
	
		
			
				
					|  |  |  |  |   eval "$SOURCE_PYENVRC" | 
			
		
	
		
			
				
					|  |  |  |  |   # $(pyenv init -) produces a function which is broken on bash 3.2 which ships on macOS | 
			
		
	
		
			
				
					|  |  |  |  |   if [ $(uname) == "Darwin" ]; then | 
			
		
	
		
			
				
					|  |  |  |  |     unset -f pyenv | 
			
		
	
		
			
				
					|  |  |  |  |   fi | 
			
		
	
		
			
				
					|  |  |  |  | fi | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | export MAKEFLAGS="-j$(nproc)" | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | PYENV_PYTHON_VERSION=$(cat $ROOT/.python-version) | 
			
		
	
		
			
				
					|  |  |  |  | if ! pyenv prefix ${PYENV_PYTHON_VERSION} &> /dev/null; then | 
			
		
	
		
			
				
					|  |  |  |  |   # no pyenv update on mac | 
			
		
	
		
			
				
					|  |  |  |  |   if [ "$(uname)" == "Linux" ]; then | 
			
		
	
		
			
				
					|  |  |  |  |     echo "pyenv update ..." | 
			
		
	
		
			
				
					|  |  |  |  |     pyenv update | 
			
		
	
		
			
				
					|  |  |  |  |   fi | 
			
		
	
		
			
				
					|  |  |  |  |   python3 -m venv --system-site-packages $VIRTUAL_ENV_ROOT | 
			
		
	
		
			
				
					|  |  |  |  |   source $VIRTUAL_ENV_ROOT/bin/activate | 
			
		
	
		
			
				
					|  |  |  |  |   echo "python ${PYENV_PYTHON_VERSION} install ..." | 
			
		
	
		
			
				
					|  |  |  |  |   CONFIGURE_OPTS="--enable-shared" pyenv install -f ${PYENV_PYTHON_VERSION} | 
			
		
	
		
			
				
					|  |  |  |  | fi | 
			
		
	
		
			
				
					|  |  |  |  | eval "$(pyenv init --path)" | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | echo "update pip" | 
			
		
	
		
			
				
					|  |  |  |  | pip install pip==24.0 | 
			
		
	
		
			
				
					|  |  |  |  | pip install poetry==1.7.0 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -39,6 +71,7 @@ poetry self add poetry-dotenv-plugin@^0.1.0 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | echo "pip packages install..." | 
			
		
	
		
			
				
					|  |  |  |  | poetry install --no-cache --no-root | 
			
		
	
		
			
				
					|  |  |  |  | pyenv rehash | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | [ -n "$POETRY_VIRTUALENVS_CREATE" ] && RUN="" || RUN="poetry run" | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |