Como mencionado anteriormente, esse bug é conhecido com o pip & python instalado com o homebrew.
Se você criar um ~/.pydistutils.cfg
arquivo com a instrução "prefixo vazio", ele corrigirá esse problema, mas interromperá as operações normais do pip.
Até que esse bug seja resolvido oficialmente, uma das opções seria criar seu próprio script bash que trataria desse caso:
#!/bin/bash
name=''
target=''
while getopts 'n:t:' flag; do
case "${flag}" in
n) name="${OPTARG}" ;;
t) target="${OPTARG}" ;;
esac
done
if [ -z "$target" ];
then
echo "Target parameter must be provided"
exit 1
fi
if [ -z "$name" ];
then
echo "Name parameter must be provided"
exit 1
fi
# current workaround for homebrew bug
file=$HOME'/.pydistutils.cfg'
touch $file
/bin/cat <<EOM >$file
[install]
prefix=
EOM
# end of current workaround for homebrew bug
pip install -I $name --target $target
# current workaround for homebrew bug
rm -rf $file
# end of current workaround for homebrew bug
Este script envolve seu comando e:
- aceita parâmetros de nome e destino
- verifica se esses parâmetros estão vazios
- cria
~/.pydistutils.cfg
arquivo com a instrução "prefixo vazio"
- executa seu comando pip com parâmetros fornecidos
- remove
~/.pydistutils.cfg
arquivo
Este script pode ser alterado e adaptado para atender às suas necessidades, mas você tem uma idéia. E isso permite que você execute seu comando sem frear o pip. Espero que ajude :)