Установка 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 --user
1.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
в любой момент.