2012-01-16 90 views
0

我是Python新手。我越來越導入錯誤,似乎有什麼都試過它的文檔,並在這個網站的各種票據和其他奇怪的Python導入錯誤

我的代碼結構如下:

vsm 
| 
|______bin 
|  vsmx.py 
|______site-packages 
      __init__.py 
     | 
     |_____libs 
      __init__.py 
      monitor.py 

在monitor.py我有一個函數命名getStr和兩個__init__.py文件爲空

我將PYTHONPATH設置爲vsm/site-packages & vsm/site-packages/libs。當我從命令行,蟒蛇斌/ vsmx.py運行,我得到:

Traceback (most recent call last): 
    File "bin/vsmx.py", line 15, in <module> 
    from libs.monitor import getStr 
    File "/var/src/vsm/bin/vsmx.py", line 15, in <module> 
    from libs.monitor import getStr 
ImportError: No module named monitor 

然而,當我嘗試以交互方式運行這一點,似乎工作。我使用Python 2.6.1在Windows和Linux上都嘗試過。

任何指針將非常感激

+0

libs位於\ _ \ _ init__.py? (跟隨你的圖) – juliomalegria

+0

你嘗試從這個'import site-packages.libs.monitor'導入嗎?我想你錯過了第一部分。我總是有導入問題。這是假設你目前的目錄是bin。 – Jeff

+0

如果'vsm/site-packages/libs'在你的PYTHONPATH上,你能不能'導入監視器'? –

回答

0

導入錯誤:沒有模塊...通常是一個非常(模糊)錯誤意味着你有圓形進口。

模塊a.py:

import b 

模塊b.py:

import a 

然後在main.py:

import a 

這應當引起導入錯誤:沒有名爲模塊,因爲a正在導入b並且在b嘗試導入時未準備好。