Как правильно установить приложение с помощью диспетчера пакетов Python (pip)?

Мне интересно, существует ли стандартный способ установки приложений Python с помощью pip (без использования sudo), чтобы он работал глобально?

Пример:

  • Я хочу установить приложение журнала командной строки с pip с именем jrnl. Он прекрасно работает, если вы делаете "sudo pip install jrnl", однако, я предполагаю, что это достойный крайний способ сделать это.

  • Если я устанавливаю без sudo, просто используя «pip install jrnl», он устанавливается в .local / без глобального доступа.

Я нашел несколько способов сделать это, но мне было интересно, есть ли общий и общепринятый способ сделать это безопасным?

Спасибо!

1
задан 24 June 2018 в 14:24

1 ответ

Это может быть установлено где угодно, который находится в Вашем пути. Несколько опций, которые я нашел:

  1. Установка на .local через:

    • pip install --user <pip-pkg-name>
    • Это установит его в .local как Вы отметили так, чтобы местоположение было в Вашем пути, с помощью .bashrc файл, который может быть сделан.
    • Добавьте это export PATH=$PATH:/home/$USER/.local/bin к Вашему /home/$USER/.bashrc файл. С этим можно достигнуть его отовсюду.
  2. Добавьте пользовательский путь для с этой строкой export PYTHONUSERBASE=/myappenv в Вашем .bashrc файл. Теперь, когда Вы делаете pip install --user <pip-pkg-name> это будет установлено в /myappenv.

    • Обратите внимание, что необходимо создать тот путь /myappenv сначала и добавьте его к Вашему .bashrc файл со строкой export PATH=$PATH:/myappenv
  3. Теперь, когда будучи сказанным так называемый стандартный способ, которым Вы упомянули, должен использовать python environment a.ka. virtualenv устанавливать и выполнять пакеты для того приложения и не глобально, как сделано в (1) и (2) выше.

    • Установите любого для python2 + с sudo pip install virtualenv, или для python 3 + с sudo pip3 install virtualenv.
    • Использование:

      • virtualenv venv
      • Выберите интерпретатор по Вашему выбору с:

        • Python 2 +: virtualenv -p python2.7 venv
        • Python 3 +: virtualenv -p python3 myenv
      • Активируйте его: source venv/bin/activate
      • Деактивируйте его: deactivate

См.:

http://kazhack.org/?post/2014/12/12/pip-gem-install-without-sudo,

https://gist.github.com/Geoyi/d9fab4f609e9f75941946be45000632b

1
ответ дан 24 June 2018 в 14:24

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

Похожие вопросы: