Python正在随机运行一个脚本

时间:2014-05-21 23:51:57

标签: python python-2.7

我遇到了一个有趣的问题。当我在命令行上运行python并尝试导入“请求”时,我发现以下错误。

Python 2.7.5 (default, Sep 12 2013, 21:33:34) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
Difference is 23 hours and 15 minutes.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/requests/__init__.py", line 53, in <module>
    from .packages.urllib3.contrib import pyopenssl
  File "/Library/Python/2.7/site-packages/requests/packages/__init__.py", line 3, in <module>
    from . import urllib3
  File "/Library/Python/2.7/site-packages/requests/packages/urllib3/__init__.py", line 16, in <module>
    from .connectionpool import (
  File "/Library/Python/2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 9, in <module>
    import logging
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 94, in <module>
    _startTime = time.time()
AttributeError: 'module' object has no attribute 'time'
>>> 

我把这个名为time.py的脚本放在与我运行python的目录相同的目录中。该脚本已被删除。但我仍然看到该脚本的输出&#34;差异是23小时15分钟。&#34;当我尝试导入模块时。但是,如果我更改目录并尝试导入模块,它就可以正常工作。我只是觉得这很奇怪。有什么想法可能会发生这种情况吗?

1 个答案:

答案 0 :(得分:4)

您必须仍然拥有time.pyc文件,其中包含上次(现在缺少的)time.py编译时生成的字节码。

导入模块时,Python会查看是否存在该模块的现有.pyc文件,如果其日期比相应的.py文件更新,则会加载包含在其中的字节码那个文件。

删除它,事情应该按预期工作。

有关详细信息,请参阅python文档中的here