Jestem dość zawstydzony, aby zadać pytanie takie jak to, ale próbowałem już kilka godzin ... wydaje się, że nie mogę uzyskać mojego pytona wersja do robienia losowych rzeczy już. Dokładniej, brakuje modułu urandom
.Python: nie można zaimportować modułu urandom (OS X)
pierwsze, oto kilka informacji o moim systemie:
- OSX wersja: 10.7.4
- wersja Pythona: 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
i$PYTHONPATH
są puste
Teraz, kiedy mam głębsze spojrzenie i zrobić vim /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.py
widzę tego pliku wymaga urandom:
line 47: from os import urandom as _urandom
Tak, całkiem logicznie, mam awarie, gdy próbuję działa :
>>> 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
Jakieś pomysły? Gdzie ma żyć urandom? Do tej pory chodziłem bez powodzenia.
Wygląda na to, że wielu użytkowników Ubuntu miało problem z virtualenv, ale ja nie używam virtualenv, a ja nie jestem w Ubuntu. Założę się, że moje zmienne PATH lub PYTHONPATH lub ENV nie są ustawione poprawnie, ale nie mam pojęcia, jak rozwiązać ten problem.
Cześć Amaud, jak znalazłeś to rozwiązanie? – CaptainCasey
Szczerze mówiąc, byłem w rozpaczliwym poszukiwaniu rzeczy, które mogłem wypróbować (ponad 2 godziny na debugowanie tak absurdalnego problemu). Wtedy przyszło mi do głowy to polecenie 'hash', spróbowałem, zadziałało. Obawiam się, że nie mam tutaj niesamowitej historii o pogoni za błędami:/ –
Dziękujemy za opublikowanie tego! Byłem całkowicie zdumiony tym, kiedy to nastąpiło podczas procesu budowania (w każdym razie nie jestem facetem Pythona), tak bardzo docenionym. :-) – Noldorin