2012-07-21 47 views
2

我第一次嘗試使用python setuptools。我在項目中使用wxPython。我使用下面的導入線Python setuptools無法找到庫的子模塊

import wx, random 
from wx.lib import buttons 

在我setup.py我有

setup(
     name='name', 
     version='0.2p', 
     description='...', 
     author='...', 
     author_email='...', 
     packages=['name'], 
     long_description=open(
      path.join(
       path.dirname(__file__), 
       'README' 
     ) 
    ).read(), 
     install_requires=[ 
      'setuptools', 
      'MySQL-python', 
      'wx', 
      'ObjectListView' 
     ],) 

當我在.egg一切使用easy_install似乎罰款。但是,當我運行該項目已被安裝在那裏的主要方法,我得到的失敗的導入消息:

from wx.lib import buttons 
ImportError: No module named lib 

我需要明確地要求在setup.py文件中wx.lib模塊?

回答

2

該問題與您的setup.py文件無關,而是您在導入語句中缺少一個步驟。您需要明確導入wx中的lib模塊。它應該是這個樣子:

import wx 
import wx.lib 
from wx.lib import buttons 

編輯:其實,有一個與setup.pyinstall_requires一個問題。你想要求wxPython不是wxwx是Python的包索引中完全不同的包。

但是,您在導入語句中仍然需要額外的import wx.lib

+0

仍然得到一個錯誤: 文件 「/usr/lib/python2.7/site-packages/resnate-0.2p-py2.7.egg/resnate/WXView.py」,8號線,在 進口WX .lib ImportError:沒有名爲lib的模塊 – Sash 2012-07-21 17:37:04

+0

假設你在'resnate'包中更新了導入,你重新安裝了嗎? – 2012-07-21 17:42:25

+0

是的,因爲它顯示「導入wx.lib」行爲相同的問題 – Sash 2012-07-21 17:55:31