setup mac how activate activar python virtualenv pip

mac - pip python



Cómo evitar el "Permiso denegado" al usar pip con virtualenv (6)

En mi caso, estaba usando mkvirtualenv , pero no le dije que iba a usar python3. Tengo este error

mkvirtualenv hug pip3 install hug -U .... error: could not create ''/usr/lib/python3.4/site-packages'': Permission denied

Funcionó después de especificar python3:

mkvirtualenv --python=/usr/bin/python3 hug pip3 install hug -U

Intento implementar un paquete de Python con pip en un entorno virtual en una máquina Ubuntu, pero encuentro un problema relacionado con los permisos. Por ejemplo:

(TestVirtualEnv)test@testServer:~$ pip install markdown2

termina por

error: no se pudo crear ''/home/test/virtualenvs/TestVirtualEnv/lib/python3.3/site-packages/markdown2.py'': permiso denegado

No puedo hacer sudo , ya que instalará el paquete globalmente, y no dentro del entorno virtual. chown ed site-packages ; ls muestra solo los directorios relacionados con easy_install , pip y setuptools , y nada relacionado con Markdown.

¿Cómo implementar un paquete en un entorno virtual con pip sin encontrar errores relacionados con los permisos?


Mientras creas virtualenv, si utilizas sudo, el directorio se crea con privilegios de raíz. Por lo tanto, cuando intentas instalar un paquete con un usuario que no sea sudo, no tendrás permiso para instalarlo. Así que siempre crea virtualenv sin sudo e instala sin sudo.

También puede copiar los paquetes instalados en python global a virtualenv.

cp -r /lib/python/site-packages/* virtualenv/lib/python/site-packages/


No activaste el entorno virtual antes de usar pip.

Pruébalo con:

$(your venv path) . bin/activate

Y luego use pip -r Requirements.txt en su carpeta principal


No creé mi virtualenv usando sudo. Así que la respuesta de Sebastian no se aplicó a mí. Mi proyecto se llama utils . utils directorio de utils y vi esto:

-rw-r--r-- 1 macuser staff 983 6 Jan 15:17 README.md drwxr-xr-x 6 root staff 204 6 Jan 14:36 utils.egg-info -rw-r--r-- 1 macuser staff 31 6 Jan 15:09 requirements.txt

Como puede ver, utils.egg-info es propiedad de root no de macuser . Es por eso que me estaba dando permission denied error. También tuve que eliminar /Users/macuser/.virtualenvs/armoury/lib/python2.7/site-packages/utils.egg-link ya que también fue creado por root . Hice pip install -e . de nuevo después de quitarlos, y funcionó.


virtualenv problemas de permisos de virtualenv pueden ocurrir cuando creas virtualenv como sudo y luego operas sin sudo en virtualenv .

Como se descubrió en el comentario de su pregunta, la solución aquí es crear el virtualenv sin sudo para poder trabajar (especialmente escribir) sin sudo .


Solución:

Si creó el virtualenv como root, ejecute el siguiente comando:

sudo chown -R your_username:your_username path/to/virtuaelenv/

Esto probablemente solucionará su problema.

Aclamaciones