Diğer bahsedildiği gibi, bu homebrew ile yüklü pip & python ile bilinen bir hatadır.
Eğer yaratırsan ~/.pydistutils.cfg
"Boş önek" talimatı içeren bir dosya bu sorunu giderir, ancak normal pip işlemlerini bozar.
Bu hata resmi olarak giderilene kadar, seçeneklerden biri bu davayı ele alacak kendi bash betiğinizi oluşturmak olacaktır:
#!/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
Bu komut dosyası komutunuzu sarar ve:
- isim ve hedef parametrelerini kabul eder
- bu parametrelerin boş olup olmadığını kontrol eder
- yaratır
~/.pydistutils.cfg
içinde "boş önek" talimatı olan bir dosya
- pip komutunuzu sağlanan parametrelerle yürütür
~/.pydistutils.cfg
dosyayı kaldırır
Bu komut dosyası ihtiyaçlarınızı karşılayacak şekilde değiştirilebilir ve uyarlanabilir, ancak fikir sahibi olursunuz. Ve komutunuzu pip frenlemeden çalıştırmanıza izin verir. Umarım yardımcı olur :)