Estoy muy avergonzado de hacer una pregunta como esta, pero he estado intentando por un par de horas ya ... parece que no puedo obtener mi pitón versión para hacer cosas al azar nunca más. Más precisamente, falta el módulo urandom
.Python: no se puede importar el módulo urandom (OS X)
En primer lugar, aquí hay algo de información acerca de mi sistema:
- OSX versión: 10.7.4
- versión Python: Python 2.7.1
which python
:/opt/local/bin/python
import os; os
:<module 'os' from '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.pyc'>
echo $PATH
:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin
$ENV
y$PYTHONPATH
están vacías
Ahora, cuando tengo una mirada más profunda y hacer vim /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.py
, puedo ver este archivo requiere urandom:
line 47: from os import urandom as _urandom
Así que, lógicamente, no tengo fallos cuando intento correr :
>>> import random
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.py", line 47, in <module>
from os import urandom as _urandom
ImportError: cannot import name urandom
¿Alguna idea? ¿Dónde se supone que urandom debe vivir? He estado buscando en Google sin éxito hasta ahora.
Parece que muchos usuarios de Ubuntu tuvieron este problema con virtualenv, pero no estoy usando virtualenv, y no estoy en Ubuntu. Mi apuesta es que de alguna manera mis variables PATH o PYTHONPATH o ENV no están configuradas correctamente, pero no tengo idea de cómo resolver esto.
Hola Amaud, ¿cómo encontraste esa solución? – CaptainCasey
Honestamente estaba algo desesperado por cosas que podía probar (más de 2 horas para depurar un problema tan ridículo). Entonces este comando 'hash' vino a mi mente, lo intenté, funcionó. Me temo que no tengo una historia increíble para perseguir errores aquí:/ –
¡Gracias por publicar esto! Estaba completamente perplejo por esto cuando ocurrió durante un proceso de compilación (no soy un tipo de Python, en cualquier caso), muy apreciado. :-) – Noldorin