python中缺少模块

时间:2013-01-28 05:56:25

标签: python vim

我最近尝试过安装powerline-vim,但一直遇到问题。

每次打开新窗口时,都会看到此错误:

Error detected while processing function <SNR>9_UpdateWindows..<SNR>9_pyeval:
line   1:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "<string>", line 1, in <module>
File "opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/uuid.py", line 545, in uuid4 import random
File "opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/uuid.py", line 545, in uuid4 from os import urandom as _urandom
ImportError: cannot import name urandom

当我从.vimrc文件中删除此行时(有效禁用powerline-vim),错误就会消失。

python from powerline.ext.vim import source_plugin; source_plugin()

关于这一点的奇怪之处在于,当我从终端启动python时,导入工作正常。

 Python 2.7.3 (default, Nov 17 2012, 19:54:34) 
 [GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import random
 >>> from os import urandom as _urandom
 >>> 

python:

的输出
/opt/local/bin/python

我正在运行OS X 10.8.2。

谢谢!

2 个答案:

答案 0 :(得分:2)

  1. 检查您的问题是否与之相关:Python: cannot import urandom module (OS X)。检查您的sys.path值。确保从Python安装中导入os模块,而不是从系统Python导入。

  2. 检查生成Python以获取线索时生成的日志configure。在构建Python时是否指定了前缀?

  3. 编辑代码并在错误发生前打印ossys.path以检查插件是否发生了变化。如果修改了sys.path,通常可以通过执行import sys; sys.path = tuple(sys.path)找到它所在的位置。它不会在sys.path = smth上崩溃,但会在append()+=上崩溃。也许这足以显示path被修改的位置。

答案 1 :(得分:0)

问题是我正在执行错误版本的Python。

sudo port select python python27-apple

运行该行修复它。

谢谢!