[英]Python ImportError: No module named wx
很抱歉再次问这个问题。 我已经在 stackoverflow 和一般的谷歌搜索中搜索并发现它的重复。 不幸的是,我无法对我的系统进行排序。
我有以下几点:
C:\Python27\Lib\site-packages\wx-2.8-msw-unicode
该文件夹包含 wx 文件夹以及 wx 和 wxPython 文件夹,每个文件夹都包含_init_.py
文件
当我导入 wx 时,我收到错误消息"no module named wx"
我需要做什么才能让 Python 找到相关文件以让我成功“导入 wx”
Ubuntu:
sudo apt-get install python-wxtools
视窗:
转到C:\\Python27\\Lib\\site-packages\\
找到文件夹wx-<version>-msw
或类似的
将wx
从上述文件夹移动到C:\\Python27\\Lib\\site-packages\\
我今天遇到了同样的错误,但我尝试了一些东西,令人惊讶的是它奏效了。 在站点包文件夹中会有一个名为 wx.pth 的文件。 使用记事本打开它,其内容类似于“wx-2.8-msw-unicode”
它基本上是包含wxpython
的文件夹的wxpython
。 使用Ctrl + A删除它并从站点包中复制文件夹的名称并将其粘贴到此处,即使它是相同的。
听起来很奇怪,但也许原始文件包含一个隐藏的字符......
对于需要 wx 模块的 PyMOL 插件,我遇到了同样的问题,尽管我通过从此处下载其软件包(用于 Python 扩展包的非官方 Windows 二进制文件)并使用以下命令安装它来安装 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
此时的错误不再出现。
我也面临同样的问题,我喜欢分享我所面临的问题,以便对任何人都有帮助。 在我的情况下,我已经安装了 python2。 7和python3,经过我使用的一些分析后在python3中测试了应用程序
pip 显示 wxpython-common
找到 wx 所在的位置
/usr/lib/python2.7/dist-packages
所以我理解在我的情况下 wx 只能在 python2.7 环境中工作
在 Fedora 中,您可以使用以下命令安装 wx
pip install -U \
-f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 \
wxPython
如果您没有在 Windows 上安装 wx,您可以使用:
pip install wx
从此链接下载 .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
这对我有用
pip install --user -U wxPython
您可以检查Windows上的Path变量中是否有Python包所在的目录(在我的机器上,这个目录是C:\\Python27\\lib\\site-packages)。 如果 Python 的 path 环境变量没有这个目录,你将找不到包。
只需打开您的终端并运行此命令,这适用于 Windows 用户pip install -U wxPython
对于 Ubuntu 用户,您可以使用它
pip install -U \
-f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 \
wxPython
我重新启动 IDLE 并为我工作!
确保在编译器中选择正确的项目解释器。 我使用了 Pycharm,也遇到了同样的问题。 它是通过选择正确的解释器来解决的。 这个视频可能对你有帮助。
通常,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 环境变量中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.