【问题标题】:python2.7 fails with ImportError: No module named time under cygwinpython2.7 因 ImportError 失败:cygwin 下没有名为 time 的模块
【发布时间】:2014-10-29 00:35:23
【问题描述】:

我最近在我的 Windows 8 台式电脑上安装了 cygwin,用于在我的家庭网络中进行网络分析/性能评估

安装后,我的easy_install失败了:

$ python ez_setup.py
Traceback (most recent call last):
  File "ez_setup.py", line 67, in <module>
    except ImportError: from md5 import md5
  File "/usr/lib/python2.7/md5.py", line 10, in <module>
    from hashlib import md5
  File "/usr/lib/python2.7/hashlib.py", line 141, in <module>
    import logging
  File "/usr/lib/python2.7/logging/__init__.py", line 26, in <module>
    import sys, os, time, cStringIO, traceback, warnings, weakref, collections
ImportError: No module named time

到目前为止我的分析表明cygwin python 2.7无法定位time.dll:

python -vvv
>>> import time
# trying time.dll
# trying timemodule.dll
# trying time.py
# trying time.pyc
# trying /usr/lib/python2.7/time.dll
# trying /usr/lib/python2.7/timemodule.dll
# trying /usr/lib/python2.7/time.py
# trying /usr/lib/python2.7/time.pyc
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named time

但 time.dll 已安装(但不在搜索的目录中):

$ find /usr/lib/python2.7/ -name "time*"
/usr/lib/python2.7/lib-dynload/time.dll

$ ldd /usr/lib/python2.7/lib-dynload/time.dll
        ntdll.dll => /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll (0x7fff41430000)
        KERNEL32.DLL => /cygdrive/c/WINDOWS/system32/KERNEL32.DLL (0x7fff408c0000)
        KERNELBASE.dll => /cygdrive/c/WINDOWS/system32/KERNELBASE.dll (0x7fff3e970000)
        fshook64.dll => /cygdrive/c/program files (x86)/f-secure/apps/computersecurity/hips/fshook64.dll (0x56640000)
        PSAPI.DLL => /cygdrive/c/WINDOWS/system32/PSAPI.DLL (0x7fff40d40000)
        ADVAPI32.dll => /cygdrive/c/WINDOWS/system32/ADVAPI32.dll (0x7fff405f0000)
        msvcrt.dll => /cygdrive/c/WINDOWS/system32/msvcrt.dll (0x7fff3ef00000)
        sechost.dll => /cygdrive/c/WINDOWS/SYSTEM32/sechost.dll (0x7fff40ea0000)
        RPCRT4.dll => /cygdrive/c/WINDOWS/system32/RPCRT4.dll (0x7fff40a00000)
        libpython2.7.dll => /usr/bin/libpython2.7.dll (0x53bb50000)
        cygwin1.dll => /usr/bin/cygwin1.dll (0x180040000)

希望它与 F-Secure 无关(我最近在使用 VirtualBox 时遇到了严重的问题)。另外,我必须如下设置环境变量 PATH、PYTHONHOME 和 PYTHONPATH:

export PYTHONHOME=/usr/bin
export PYTHONPATH=/usr/lib/python2.7

export PATH=/usr/local/bin:/usr/bin
export PATH=$PATH:/cygdrive/c/WINDOWS/system32

但没有帮助。将 '/usr/lib/python2.7/lib-dynload/' 添加到 PATH 也无济于事。

【问题讨论】:

    标签: python windows cygwin


    【解决方案1】:

    终于找到问题的原因了:

    PYTHONHOME 设置为 /usr/bin 在修复它并更改为 /usr 之后 现在可以了。

    【讨论】:

      猜你喜欢
      • 2017-08-01
      • 2020-04-16
      • 2020-05-07
      • 2019-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多