【问题标题】:Python ImportError: No module named wxPython ImportError:没有名为 wx 的模块
【发布时间】:2012-01-26 10:28:24
【问题描述】:

很抱歉再次问这个问题。我已经在 stackoverflow 和一般的谷歌搜索上搜索并发现了它的无尽重复。不幸的是,我无法整理我的系统。

我有以下几点:

C:\Python27\Lib\site-packages\wx-2.8-msw-unicode

此文件夹包含 wx 文件夹以及 wx 和 wxPython 文件夹,每个文件夹都包含 _init_.py文件

当我导入 wx 时,我收到错误消息 "no module named wx"

我需要做什么才能让 Python 找到相关文件以允许我成功“导入 wx”

【问题讨论】:

  • “当我导入 wx 时,我收到错误消息”-> 您在哪里执行导入步骤(即请提供更多详细信息)并且您确定您在执行时使用的是 Python2.7导入(我想知道您的默认 Python 是否是另一个版本)?
  • 我一直在 IDLE Python GUI 上运行该代码 >>> import wx Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> import wx ImportError: No module named wx
  • 可以导入其他模块吗?只有 wx 失败了?如果是这种情况,您的站点包文件夹中是否有 wx.pth 文件?
  • 操作!您所描述的是正确的设置...它应该可以工作...您是从官方 wxpython 站点的二进制文件安装的吗?如果的名字是什么?另一个问题,你可以从 Windows 控制台中打开的 python shell 导入 wx(而不是从空闲)。
  • 你知道吗?我最不知道为什么现在工作而不是以前。也许你安装 wx 后没有重新启动空闲?嗯...

标签: python importerror wxwidgets


【解决方案1】:

这对我有用

pip install --user -U wxPython

【讨论】:

    【解决方案2】:

    在fedora中你可以使用以下命令安装wx

    pip install -U \
      -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 \
      wxPython
    

    【讨论】:

      【解决方案3】:

      对于 Windows 和 MacOS,只需使用 pip 安装即可

      pip install -U wxPython
      

      参考:Official site

      【讨论】:

      【解决方案4】:

      确保在编译器中选择正确的项目解释器。我使用了 Pycharm,也遇到了同样的问题。并通过选择正确的解释器来解决。 这个video 可以帮到你。

      【讨论】:

        【解决方案5】:

        只需打开您的终端并运行此命令即可 pip install -U wxPython

        对于 Ubuntu 用户,您可以使用它

        pip install -U \
        -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 \
        wxPython
        

        【讨论】:

          【解决方案6】:

          对于需要 wx 模块的 PyMOL 插件,我遇到了同样的问题,尽管我通过从此处 (Unofficial Windows Binaries for Python Extension Packages) 下载它的包并使用以下命令安装它来安装 wxpython:

          pip install .\wxPython-3.0.2.0-cp27-none-win_amd64.whl
          

          由于某种原因,它给了我这个错误,为此我卸载了它:

          pip uninstall wxPython
          

          然后我从这里 (wxPython 4.0.0a1) 下载并重新安装:

          pip install .\wxPython-4.0.0a1-cp27-cp27m-win_amd64.whl
          

          此时的错误已不再出现。

          【讨论】:

            【解决方案7】:

            从此link下载 .whl 文件。

            文件的名称是: wxPython‑3.0.2.0‑cp27‑none‑win32.whl 适用于 Windows 32 位和 python 2.7 和 wxPython‑3.0.2.0‑cp27‑none‑win_amd64.whl 适用于 Windows 64 位和 python 2.7。

            然后在命令提示符下:pip install location-of-the-above-saved-file

            【讨论】:

              【解决方案8】:

              我也面临同样的问题,我喜欢分享我遇到的问题,以便对任何人都有帮助。就我而言,我已经安装了两个 python2。 7和python3,并在我使用的一些分析后测试了python3中的应用程序

              pip 显示 wxpython-common

              找到wx所在的位置

              /usr/lib/python2.7/dist-packages

              所以我理解在我的情况下 wx 只能在 python2.7 环境中工作

              【讨论】:

              • 是的,但那是因为你的系统默认是 python 2.7,试试 pip3
              【解决方案9】:

              窗户:

              1. 转到C:\Python27\Lib\site-packages\ 找到文件夹wx-<version>-msw 或类似文件夹

              2. wx从上述文件夹移动到C:\Python27\Lib\site-packages\

              【讨论】:

              【解决方案10】:

              我在 64 位 Windows 7 上并转到:

              https://wxpython.org/

              然后为我的系统下载 exe,安装它,它对我有用。

              【讨论】:

              【解决方案11】:

              如果你没有在 windows 上安装 wx,你可以使用:

               pip install wx
              

              【讨论】:

              • 这对我来说失败,编译错误,使用 Python 2.7。
              • 如果pip安装失败,你应该从lfd.uci.edu/~gohlke/pythonlibs安装二进制文件
              • 这个命令对我有用:: pip install wxPython
              【解决方案12】:

              我重新启动 IDLE 并为我工作!

              【讨论】:

                【解决方案13】:

                Ubuntu:

                sudo apt-get install python-wxtools
                

                【讨论】:

                • 他用的是windows,不是ubuntu/debian
                • OP 在问题C:\Python27\Lib\site-packages\wx-2.8-msw-unicode 中的事实意味着这个答案将不太有用。
                【解决方案14】:

                您可以在 Windows 的 Path 变量中检查是否有 Python 包所在的目录(在我的机器中,此目录为 C:\Python27\lib\site-packages)。如果 Python 的 path 环境变量没有这个目录,你将找不到包。

                【讨论】:

                  【解决方案15】:

                  我今天遇到了同样的错误,但我尝试了一些方法,令人惊讶的是它成功了。在站点包文件夹中将有一个名为 wx.pth 的文件。使用记事本打开它,它的内容就像“wx-2.8-msw-unicode”

                  它基本上是包含wxpython 的文件夹的名称。使用 Ctrl + A 删除它并从站点包中复制文件夹的名称并将其粘贴到此处,即使它相同。

                  听起来很奇怪,但可能原始文件包含隐藏字符...

                  【讨论】:

                    【解决方案16】:

                    通常,site-packages 文件夹中的包名称应使用模块或子文件夹的确切名称导入。

                    如果我的 site-packages 文件夹有一个名为“foobar”的子文件夹,我将通过键入 import foobar 来导入该包。

                    一种解决方案可能是将site-packages\wx-2.8-msw-unicode 重命名为site-packages\wx

                    或者您可以将C:\Python27\Lib\site-packages\wx-2.8-msw-unicode 添加到您的 PYTHONPATH 环境变量中。

                    【讨论】:

                    • 请不要那样做,名字是正确的。如果您的安装已正确完成,站点包中应该有一个文件 wx.pth 指向该文件夹名称。
                    • 嗨....我已经检查了站点包文件夹,并且确实存在 wx.pth 文件....它包含以下单行 wx-2.8-msw-unicode 任何关于排序的建议将不胜感激!
                    猜你喜欢
                    • 1970-01-01
                    • 2013-01-06
                    • 2015-12-09
                    • 2020-12-15
                    • 2015-11-17
                    • 2016-07-24
                    • 2017-07-15
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多