Невозможно импортировать время до выхода модуля sys. питон

У меня возникают проблемы с загрузкой ipython-ноутбука, кажется, что есть ошибка при импорте времени:

//anaconda/python.app/Contents/lib/python2.7/logging/__init__.py:26: RuntimeWarning: import threads: 
cannot import name time
(ImportError: cannot import name time)
import sys, os, time, cStringIO, traceback, warnings, weakref, collections
Traceback (most recent call last):
File "//anaconda/bin/ipython", line 4, in <module>
from IPython import start_ipython
File "//anaconda/lib/python2.7/site-packages/IPython/__init__.py", line 45, in <module>
from .config.loader import Config
File "//anaconda/lib/python2.7/site-packages/IPython/config/__init__.py", line 16, in <module>
from .application import *
File "//anaconda/lib/python2.7/site-packages/IPython/config/application.py", line 23, in <module>
import logging
File "//anaconda/python.app/Contents/lib/python2.7/logging/__init__.py", line 95, in <module>
_startTime = time.time()
AttributeError: 'module' object has no attribute 'time'
</module></module></module></module></module>

Странно (мне), я также не могу загрузить модуль времени в python, если я не импортировал sys!

Python 2.7.8 |Anaconda 2.0.1 (x86_64)| (default, Jul 2 2014, 15:36:00) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
>>> import time
__main__:1: RuntimeWarning: import threads: cannot import name time
(ImportError: cannot import name time)
>>> import sys
>>> import time
>>>

Это произошло после того, как я очистил свой.bash_profile и.profile, удалив пропущенные строки. Любая помощь/объяснение было бы очень оценено.

Благодарю.

1 ответ

У вас есть локальный файл с именем time.py который маскирует встроенный тип. Удалите или переименуйте его. Вы можете увидеть имя файла маскирующего модуля, указав:

import time
print time

Во втором импортировании вы получаете предупреждение, а не ошибку. Линия import time работала, но она вызывала код, который также срабатывал за неправильный загружаемый модуль time. Импортирование снова повторно использовало уже импортированный объект модуля, и даже если он действительно полностью выполнил импорт, предупреждения только регистрируются один раз в обычном режиме.

licensed under cc by-sa 3.0 with attribution.