Установка 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 ответ

Решение
  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 Теперь, если это работает, вы уже сделали. Если нет, продолжайте читать.

  2. Теперь, когда вы правильно установили пакет, список установленных файлов:

    $ pip show -f s3cmd
    

    Найдите путь к сценарию, это будет что-то вроде ../../bin/s3cmd, учитывая относительно Location реж. Вам нужно построить полный bin путь должен быть чем-то вроде /Users/crmpicco/Library/Python/X.X/bin,

  3. Добавить построенное bin путь к PATH и попробуйте вызвать команду:

    $ PATH=$PATH:/full/path/to/bin s3cmd --version
    
  4. Если приведенная выше команда выполнена успешно, добавьте bin путь к PATH постоянно: открыть ~/.bash_profile и добавьте строки

    PATH="/full/path/to/bin:${PATH}"
    export PATH
    

    Сохраните файл и либо перезапустите терминал, либо запустите source ~/.bash_profile применить изменения. Теперь вы должны быть в состоянии позвонить s3cmd в любой момент.

Другие вопросы по тегам