Я хочу установить какой-то пакет Python с помощью pip
. Я получаю неожиданную ошибку:
error: could not create '/home/brian/anaconda/lib/python2.7/site-packages/PyDSTool': Permission denied
----------------------------------------
Command "/home/brian/anaconda/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-EIkik9/pydstool/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ipWEV7-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-EIkik9/pydstool
Хорошо, судя по всему, у команды нет прав на создание папки в моем домашнем каталоге.Меня это уже беспокоит! У меня возникли проблемы с этим, и я не знаю, что делать...
В любом случае, делать sudo pip install <package of interest>
тоже не получится, потому что:
brian@brian-linux:~$ sudo pip install pydstool
[sudo] password for brian:
sudo: pip: command not found
Ну и что теперь? Я бы предпочел не копаться в sudoers и не добавлять вручную путь bin, к которому у sudo нет доступа. Я бы предпочел, чтобы мой домашний каталог вел себя как обычно. Возможно, настройка моих дисков памяти (на /
SSD и /home
смонтированных на HDD) была очень плохой идеей?
решение1
Похоже, что разрешения в вашем файле ~/
перепутаны. Все файлы там должны принадлежать вам. Используйте, find ~/ -user root
чтобы проверить, не захватил ли root часть, особенно каталоги в ошибке, которую вы разместили. Измените разрешения обратно на себя, где это необходимо.
Где вы взяли «pip» и как его установили?
решение2
Не знаю, сработает ли это, но я бы попробовал создать каталог независимо от открытия или установки вашего программного пакета.
Я действительно не знаю, почему вы не можете писать в свой домашний каталог. Это ВАШ домашний каталог, верно? Потому что если бы вы попытались установить его в чей-то домашний каталог, это бы все объяснило.
У вас только одна установка Linux на жестком диске? Если у вас их больше одной, очень легко запутаться, на каком логическом диске вы вошли в систему.
Если вы выполните sudo su, вы войдете в систему как пользователь root и сможете делать все, что захотите, но будьте осторожны, поскольку так гораздо проще сломать вашу систему.