Почему не стоит использовать sudo pip?
📁 вопрос, pip
Почему не нужно использовать sudo pip? Я не до конца понимаю этот аспект. Мне предложили задать отдельный вопрос. Многим другим людям это тоже может быть полезно знать.
"
nПочему НЕ стоит использовать sudo pip install?
nПри установке пакета вы не просто размещаете его в своей файловой системе, но и выполняете скрипт setup.py. Поскольку в PyPI загрузить пакет может кто угодно, вы не можете быть уверены, что setup.py не содержит код, выполнение которого под пользователем root нежелательно/опасно/недопустимо.
По уровню опасности это равносильно выполнению под суперпользователем shell-скрипта ""из облака"":
nwget -O - http://example.com/some/unsafe/script.sh | bashnnКак же быть?
nВариант 1
nКроме случаев, когда вам крайне необходимо установить пакет из-под root-а, вы можете использовать
pip install --user mypackagennчтобы установить пакет в репозиторий текущего пользователя $HOME/.local/lib/pythonx.y/site-packages/.
Вариант 2
nИспользовать изолированные окружения, например virtualenv. В этом случае у вас под рукой будет неограниченное количество рабочих окружений (например, под каждый проект, с разными версиями python), которые не будут мешать друг другу.
Пакеты будут храниться в $HOME/.virtualenvs/$ENVNAME/lib/pythonx.y/site-packages/ вместе с нужной версией python и сторонними бинарниками, а переключение окружений выполняется командой workon $ENVNAME.
IDE, вроде PyCharm, знают про виртуальные окружения и умеют с ними работать.
n"
Войдите чтобы оставить ответ