Вы установили версию Python под /usr/local
. Теперь вы удалили часть этого. Вы пытаетесь использовать часть, которая все еще присутствует, но она не будет работать без части, которую вы удалили.
Если ваша установка изначально не была чрезвычайно запутанной, /usr/local/bin/pip
запускает /usr/local/bin/python
, которая ищет файлы библиотеки в /usr/local/lib/python3.5
(, предполагая, что это Python версии 3.5 ). Если вы хотите запустить эту версию Python, вы не можете удалить /usr/local/lib/python3.5
. Если вы не хотите запускать эту версию Python, вам нужно удалить все ее файлы. Это означает удаление /usr/local/bin/python
и всех файлов, которые были установлены вместе с ним, например /usr/local/bin/pip
. Вероятно, есть файлы и в других каталогах, например, в /usr/local/man
или /usr/local/share/man
.
Удаление приложений из /usr/local
затруднительно, поэтому рекомендуется использовать диспетчер пакетов — получить пакеты из дистрибутива Linux или использовать stow . См. Отслеживание программ Так как в вашем случае ущерб был нанесен, вам нужно будет отследить файлы для удаления вручную. Ищите файлы, время модификации которых примерно одинаково.
После того, как вы очистите эту установку Python под /usr/local
, запуск pip
вызовет /usr/bin/pip
, который входит в ваш дистрибутив (, предполагая, что вы установили пакеты Python для своего дистрибутива — если вы еще не, сделай это ).
Я нашел ответ!
#!/bin/bash
IFS=$'\n'
# Reset
Color_Off='\033[0m' # Text Reset
# Regular Colors
Red='\033[0;31m' # Red
Green='\033[0;32m' # Green
# Bold
BRed='\033[1;31m' # Red
BGreen='\033[1;32m' # Green
for i in $(find /mnt/movies/ -type f -name '*.mkv' -o -name '*.mp4' -o -name '*.wmv' -o -name '*.flv' -o -name '*.webm' -o -name '*.mov'); do
# ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 "$i"
if [ $(ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 "$i") = h264 ]; then
echo -e "Video is a ${BGreen}H264${Color_Off} video file"
python2 sickbeard_mp4_automator/manual.py -i "$i" -a
elif [ $(ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 "$i") == hevc ]; then
echo -e "Video is already transcoded to ${BRed}HEVC${Color_Off}"
elif [ $(ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 "$i") == vp8 ]; then
echo -e "Video is a ${BGreen}WEBM${Color_Off} video file"
python2 sickbeard_mp4_automator/manual.py -i "$i" -a
fi
done
Это проверит H264 и перекодирует файл. В противном случае он оставляет его в покое. Спасибо, ребята, за помощь, и я понял, что иногда я могу быть идиотом.:)
Вы можете использовать следующую команду:
find /your/path -exec bash -c "if file {} | grep "python"; then cat {} ; fi" \;
Эта команда выполнит file
для всех найденных файлов, и в случае, если вывод этой команды содержит «python», выполняется cat
.
Очевидно, что вы должны адаптировать эту команду к вашим потребностям.