Mac – Python – error de importación: “Ningún módulo llamado sitio”

Esta noche estoy tratando de que se instale el paquete llamado “solicitudes” y he comenzado a buscar a tientas con el terminal y no tengo mucha intuición cuando se trata de este tipo de cosas.

La computadora es una mac mini, osx versión 10.9.4

En / Library / Python tengo 4 carpetas: 2.3 2.5 2.6 y 2.7.
En / Aplicaciones tengo “Python 2.7” y “Python 3.4”
Puedo abrir IDLE y escribir 8 + 8 y obtengo 16 muy bien.

Aquí está el error que estoy recibiendo en la terminal:

host-210-117:~ Mario$ python ImportError: No module named site host-210-117:~ Mario$ pip ImportError: No module named site 

Mi objective es ejecutar este comando en la terminal:

  pip install requests 

Creo que pip ya está instalado. Ejecuto el archivo “get-pip.py” en IDLE y esto es lo que dice:

  Requirement already up-to-date: pip in /Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg Cleaning up... 

Esto puede tener algo que ver con los caminos? Agradecería alguna orientación / consejos / sugerencias, gracias!

Ah, y un poco más de información que podría ayudar a resolver esta pregunta. Aquí están las primeras líneas del progtwig que estoy ejecutando:

  import base64 import hmac import json import requests import time import urllib import os 

Lo que me da este error en IDLE (¿así que supongo que es importar esos primeros paquetes sin ningún problema?):

  >>> Traceback (most recent call last): File "/Users/Mario/Desktop/pyak/pyak.py", line 4, in  import requests ImportError: No module named requests >>> 

* Lista de rutas del sistema:

sys.path [‘/ Users / Mario / Desktop / pyak’, ‘/ Users / Mario / Documents’, ‘/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg’, ‘ /Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip ‘,’ /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 ‘,’ /ibrary/Frameworks/Python.framework /Versions/2.7/lib/python2.7/plat-darwin ‘,’ /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac ‘,’ /Library/Frameworks/Python.framework /Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages ‘,’ /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk ‘,’ / Library / Frameworks /Python.framework/Versions/2.7/lib/python2.7/lib-old ‘,’ /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload ‘,’ / Library / Frameworks /Python.framework/Versions/2.7/lib/python2.7/site-packages ‘,’ /Library/Python/2.7/site-packages ‘]

* otra actualización:

  host-210-117:~ Mario$ which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python 

* un poco más de información (se supone que esto suceda?)

  host-210-117:~ Mario$ which pip /usr/local/bin/pip host-210-117:~ Mario$ pip ImportError: No module named site 

* Después de cambiar .bashrc

.bashrc: esto es lo que en el archivo

export PATH = “$ PATH: $ HOME / .rvm / bin” # Agregue RVM a PATH para las secuencias de comandos
alias python = / Library / Python / 2.7 / python

Aquí está la salida de la ejecución:

  pip install requests 

host-210-117: ~ solicitudes de instalación de Mario $ pip
Descarga / desembalaje de solicitudes
Descargando peticiones-2.4.1-py2.py3-none-any.whl (458kB): 458kB descargados
Instalación de paquetes recogidos: solicitudes
Limpiar…
Excepción:
Rastreo (llamadas recientes más última):
Archivo “/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py”, línea 122, en estado principal = self.run (opciones, argumentos)
Archivo “/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py”, línea 283, en la ejecución require_set.install (install_options, global_options, root = options .root_path)
Archivo “/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py”, línea 1435, en install require.install (install_options, global_options, * args, ** kwargs)
Archivo “/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py”, línea 671, en instalación self.move_wheel_files (self.source_dir, root = root) Archivo “/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py”, línea 901, en move_wheel_files pycompile = self.pycompile,
Archivo “/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py”, línea 215, en move_wheel_files clobber (fuente, lib_dir, Verdadero)
Archivo “/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py”, línea 205, en clobber os.makedirs (destdir)
Archivo “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py”, línea 157, en makedirs mkdir (nombre, modo)
OSError: [Errno 13] Permiso denegado: ‘/Library/Python/2.7/site-packages/requests’

Almacenamiento del registro de depuración por error en /Users/Mario/Library/Logs/pip.log

Por lo que puedo decirte, tienes tres versiones de Python en tu sistema.

  • El que viene con OSX /Library/Frameworks/Python.framework/Versions/2.7/
  • Python 2.7 de python.org /Library/Python/2.7/site-packages
  • Python 3.4 de python.org

pip se instala contra la versión de Python 2.7 que descargaste (la que ves en la carpeta Aplicaciones), desafortunadamente, el Python predeterminado para tu shell es el que está incluido con OSX, y no hay pip instalado allí.

IDLE también se incluye con el Python que descargaste, por lo que te sigue diciendo que pip está instalado, pero no funciona desde el shell.

Como es probable que esté utilizando el Python descargado desde python.org como su Python “principal” (después de todo, es el que tiene el IDLE que está usando), debe configurar su entorno de shell para que apunte a este Python como predeterminado.

La forma más fácil de hacerlo es agregar una variable en .bashrc que crea un alias python y lo apunta al binario correcto. Para hacer eso, agregue esta línea a /Users/yourusername/.bashrc – archivos con . están ocultos de forma predeterminada, por lo que tendrá que escribir el nombre completo del archivo en la línea de comandos para abrirlo. Añade la siguiente línea:

 alias python=/Library/Python/2.7/python 

Guarde el archivo y luego cierre todas las ventanas de terminal y ábralo nuevamente. Ahora escriba pip y debería funcionar correctamente, y luego puede proceder a instalar las solicitudes.

Para futuras referencias, intente seguir con una versión de Python. Personalmente ignoro la versión incluida y uso la de brew , pero puedes seguir con el Python descargado desde python.org.

Arreglé la mía con:

brew reinstall python

Arregló todos mis caminos rotos. Creo que lo rompí con un paquete de cerveza rota que tenía una dependencia incorrecta de la versión Python o algo así.

site.py es un módulo estándar que ejecuta Python de forma predeterminada. Permite ajustar sys.path y ejecutar algo de código antes de que su código comience a ejecutarse. Debe vivir en la biblioteca estándar y difícilmente puede estar ausente. Sin embargo, puede deshabilitar la importación automática del módulo pasando el interruptor -S a python.

De todos modos, debería de alguna manera inspeccionar por qué no se puede importar el módulo. Trate de examinar la lista sys.path.

Está intentando instalar el paquete en ‘/Library/Python/2.7/site-packages/requests’ pero requiere permisos de root para hacerlo. Esto debería funcionar:

 $ sudo pip install requests