Установите пакет python для всех пользователей, не вмешиваясь в системную установку python - PullRequest
0 голосов
/ 31 мая 2018

Я бы хотел установить Pipenv на машину, чтобы ее могли использовать все пользователи этой машины, но я также не хочу связываться с настройкой Python системы.

Я могу запустить sudo pip install pipenv, но это идет вперед и меняет версию набора пакетов, установленных в системе Python (я использую Scientific Linux 7.4).Я предпочел бы сохранить системный Python в точности так, как он поставляется моим дистрибутивом Linux (поскольку я читал, что связываться с системным Python - плохая идея, так как основные системные инструменты могут полагаться на него определенным образом).

Iможет сделать pip install --user pipenv, но тогда только мой пользователь может использовать pipenv.

Итак, два вопроса:

1.Я неоправданно боюсь модифицировать систему Python?Действительно ли нормально обновлять пакеты в системе Python?

2.Если моя осторожность оправдана, каков наилучший способ pip install вещей (т.е. инструментов, таких как Pipenv) для всех пользователей без изменения системы Python?

В идеале я бы хотел, чтобы пользователи простовозможность использовать pipenv, набрав pipenv, не выполняя файл, расположенный в непонятном каталоге.

PS В идеальном случае pipenv был бы доступен как «безопасный» пакет из моего дистрибутива, но, увы,это не.Я также осведомлен о virtualenvs, но у меня сложилось впечатление, что они больше предназначены для разработки и развертывания конкретных проектов и не обязательно идеально подходят для общесистемного инструментария (хотя я готов исправить это).

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Обязательно используйте Anaconda и посмотрите документацию по использованию среды conda.Еще одним плюсом является то, что вы можете взять свою среду с собой для использования на любом компьютере, что значительно упрощает и упрощает документирование версий пакетов в рабочем процессе разработки.Наслаждайтесь!

0 голосов
/ 02 июня 2018

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

Я бы посоветовал вам разрешить всем пользователям совместно использовать глобальную (но не системную) установку Python, либо из официального дистрибутива, либо из Anaconda, сборки python-python, либо из самостоятельно скомпилированного источника.Затем каждый пользователь может либо выполнить свои собственные pip install --user для своих соответствующих домашних каталогов, либо вы можете установить в качестве sudoer инструменты, доступные ему глобально, в настраиваемый, не системный, но глобальный Python.


Редактировать: я забыл упомянуть, что вы также можете делать это с виртуальными средами и символическими ссылками.Пример для Pipenv (вы можете изменить пути по своему усмотрению):

python3 -m venv /opt/venvs/pipenv
/opt/venvs/pipenv/bin/pip install pipenv
ln -s /opt/venvs/pipenv/bin/pipenv /opt/bin/pipenv

python3 -m venv /opt/venvs/flake8
/opt/venvs/pipenv/bin/pip install flake8
ln -s /opt/venvs/pipenv/bin/flake8 /opt/bin/flake8

Этот способ позволяет установить несколько инструментов без их влияния друг на друга.Также вы можете комбинировать это с настраиваемым Python для еще большего спокойствия.

...