No puedo ejecutar "sudo" en un comando determinado porque no está en la ruta de sudo. ¿Cómo puedo dar los permisos correctos entonces?

No puedo ejecutar "sudo" en un comando determinado porque no está en la ruta de sudo. ¿Cómo puedo dar los permisos correctos entonces?

Quiero instalar algún paquete de Python usando pip. Recibo un error sorprendente:

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

Bien, aparentemente el comando no tiene permiso para crear una carpeta en mi directorio de inicio.¡Esto ya me resulta problemático! He tenido problemas con esto y no estoy seguro de qué hacer...

De todos modos, hacerlo sudo pip install <package of interest>tampoco funciona porque:

brian@brian-linux:~$ sudo pip install pydstool
[sudo] password for brian: 
sudo: pip: command not found

¿Y ahora qué? Preferiría no profundizar en los sudoers y agregar manualmente la ruta del contenedor a la que sudo no tiene acceso. Preferiría que mi directorio de inicio se comportara normalmente. ¿Quizás configurar mis unidades de memoria (en /el SSD y /homemontadas en el HDD) fue una muy mala idea?

Respuesta1

Parece que los permisos en tu ~/están en mal estado. Todos los archivos allí deben ser de su propiedad. Úselo find ~/ -user rootpara ver si root se ha apoderado de algo, especialmente del directorio en el error que publicó. Cambie los permisos a usted mismo cuando sea necesario.

¿De dónde sacaste "pip" y cómo se instaló?

Respuesta2

No sé si esto funcionará, pero intentaría crear el directorio independientemente de abrir o instalar su paquete de software.

Realmente no sé por qué no deberías poder escribir en tu directorio personal. Es TU directorio personal, ¿verdad? Porque si intentara instalarlo en el directorio de inicio de otra persona, eso lo explicaría.

¿Tiene solo una instalación de Linux en su disco duro? Si tiene más de una, es muy fácil confundirse sobre en qué unidad lógica ha iniciado sesión.

Si haces sudo su, iniciarás sesión como root y podrás hacer lo que quieras, pero ten cuidado porque también es mucho más fácil dañar tu sistema.

información relacionada