Установка s3cmd на MacOS High Sierra с помощью pip
Я установил s3cmd с pip на MacOS High Sierra, которая успешно установлена.
sudo pip install --user s3cmd
The directory '/Users/crmpicco/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/crmpicco/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting s3cmd
Downloading https://files.pythonhosted.org/packages/c0/55/ff0ba1d725d3b43c1b116907b4891da0a3b3193e7fa23f75d9fff7a6431e/s3cmd-2.0.1.tar.gz (121kB)
100% |████████████████████████████████| 122kB 85kB/s
Requirement already satisfied: python-dateutil in /Library/Python/2.7/site-packages (from s3cmd) (2.6.1)
Requirement already satisfied: python-magic in /Library/Python/2.7/site-packages (from s3cmd) (0.4.15)
Requirement already satisfied: six>=1.5 in /Library/Python/2.7/site-packages (from python-dateutil->s3cmd) (1.11.0)
Installing collected packages: s3cmd
Running setup.py install for s3cmd ... done
Successfully installed s3cmd-2.0.1
Однако я не могу его запустить.
s3cmd --configure
-bash: s3cmd: command not found
Если я делаю поиск, он отображается в /Homebrew каталог:
locate s3cmd
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/s3cmd.rb
Чего мне не хватает, чтобы запустить это?
1 ответ
Не делай
sudo pip install --user, Это повреждает вашу директорию пользователя - вы устанавливаете как root для вашей директории пользователя, это источник потенциальных проблем. Переустановите с$ sudo pip uninstall -y s3cmd $ pip install s3cmd --user1.1. Поскольку вы уже установлены как root, вероятно,
pipДиректории кеша или файлы были прикреплены к корню - если будут какие-либо жалобы, исправьте владение с помощью$ sudo chown -R crmpicco:staff /Users/crmpicco/Попробуйте запустить
s3cmd -hили жеs3cmd --versionТеперь, если это работает, вы уже сделали. Если нет, продолжайте читать.Теперь, когда вы правильно установили пакет, список установленных файлов:
$ pip show -f s3cmdНайдите путь к сценарию, это будет что-то вроде
../../bin/s3cmd, учитывая относительноLocationреж. Вам нужно построить полныйbinпуть должен быть чем-то вроде/Users/crmpicco/Library/Python/X.X/bin,Добавить построенное
binпуть кPATHи попробуйте вызвать команду:$ PATH=$PATH:/full/path/to/bin s3cmd --versionЕсли приведенная выше команда выполнена успешно, добавьте
binпуть кPATHпостоянно: открыть~/.bash_profileи добавьте строкиPATH="/full/path/to/bin:${PATH}" export PATHСохраните файл и либо перезапустите терминал, либо запустите
source ~/.bash_profileприменить изменения. Теперь вы должны быть в состоянии позвонитьs3cmdв любой момент.