【问题标题】:Python setuptools unable to find sub module of libraryPython setuptools 找不到库的子模块
【发布时间】:2012-07-21 16:35:13
【问题描述】:

我第一次尝试使用 python setuptools。我在项目中使用 wxPython。我正在使用以下导入行

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 时,一切似乎都很好。但是当我从安装项目的地方运行 main 方法时,我收到了失败的导入消息:

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

我是否需要在 setup.py 文件中明确要求 wx.lib 模块?

【问题讨论】:

    标签: python wxpython setuptools


    【解决方案1】:

    问题与您的 setup.py 文件无关,而是您的导入语句中缺少一个步骤。您需要从wx 显式导入lib 模块。它应该看起来像这样:

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

    编辑:其实setup.pyinstall_requires有问题。您需要 wxPythonNOT wxwx 在 Python 的包索引中是一个完全不同的包。

    但是,您仍然需要在导入语句中添加额外的 import wx.lib

    【讨论】:

    • 仍然出现错误:文件“/usr/lib/python2.7/site-packages/resnate-0.2p-py2.7.egg/resnate/WXView.py”,第 8 行,在 import wx.lib ImportError: No module named lib
    • 假设你更新了 resnate 包中的导入,你重新安装了吗?
    • 是的,因为它显示“import wx.lib”行是同样的问题
    • 抱歉 Sash,你的 setup.py 有问题。请参阅我对答案的编辑。
    • 确保卸载wx。您可能会遇到两个包之间的冲突,因为它们的实际模块名称都是wx
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 2021-10-20
    • 2021-11-16
    相关资源
    最近更新 更多