2014-03-01 40 views
0

我在PyPi上遇到了Python包問題。我看不出這樣的問題,任何回答問題(雖然我已經發現了一些懸而未決的),所以這裏有雲:安裝新的Pypi模塊看起來不錯,但不被python識別?

我的包BrickPython看起來是這樣的:

BrickPython 
    + BrickPython 
     + __init__.py 
     + Scheduler.py 
    + Other test and example modules at top level. 

該模塊具有工作setup.py;包的BrickPython似乎正確安裝在PyPi上(使用python setup.py sdist upload);和

sudo pip install BrickPython 

成功完成。然而,當我嘗試使用它,我看到錯誤:

>>> import BrickPython 
>>> BrickPython.Motor 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
AttributeError: 'module' object has no attribute 'Motor' 

至於我能看到我下面類似http://guide.python-distribute.org/creation.html#directory-layout設置(所有測試代碼是在不同的地方),所以我米想知道什麼是錯的。這是很痛苦的嘗試,因爲顯然我必須製作一個新版本來測試我所做的每一項變更。

1)如何與雞蛋包的安裝試驗而通過的PyPI安裝回事?

2)我應該怎麼做才能使它工作?

  • 查爾斯
+0

你有'BrickPython/BrickPython/Motor.py'文件?你在'BrickPython/BrickPython/__ init __。py'中導入'BrickPython.Motor'嗎? – jfs

+0

*「如何在不通過PyPi安裝的情況下試驗蛋包安裝?」*使用'setup.py'在目錄中運行'pip install -e .'。 – jfs

+0

啊哈,太棒了!謝謝J.F. – CharlesW

回答

0

試試這個

from BrickPython import Motor 

m = Motor.Motor(<port>, [scheduler]) 
+0

是的 - 有效。我對Python導入語法的誤解。通常情況下,它將成爲'從BrickPython.Motor導入電機... m =電機(0)'。非常感謝! - Charles – CharlesW