Python ImportError: No module named wx

PythonImporterrorWxwidgets

Python Problem Overview


Im sorry to ask this question again. I have searched and found endles repeats of it both on stackoverflow and also on general google search. Unfortunatly I just cant get my system sorted.

I have the following:

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

this folder contains the wx folder and also wx & wxPython folders which each contain the _init_.py files

When I import wx I get the error message "no module named wx"

What do I need to do in order to get Python to find the relevant files to allow me to "import wx" succesfully

Python Solutions


Solution 1 - Python

Ubuntu:

sudo apt-get install python-wxtools

Solution 2 - Python

Windows:

  1. Go to C:\Python27\Lib\site-packages\ find the folder wx-<version>-msw or similar

  2. Move the wx from the above folder to C:\Python27\Lib\site-packages\

Solution 3 - Python

For Windows and MacOS, Simply install it with pip

pip install -U wxPython

Reference: Official site

Solution 4 - Python

I had the same error today but I tried something and surprisingly it worked. In the site packages folder there will be a file named wx.pth. Open it using notepad and its contents would be like "wx-2.8-msw-unicode"

It is basically the name of the folder containing wxpython. Delete this using Ctrl + A and copy the name of the folder from the site packages and paste it here even if it is the same.

Sounds weird but maybe the original file contained a hidden character...

Solution 5 - Python

I had the same problem for a PyMOL plugin that required the wx module, though I installed wxpython by downloading its package from here (Unofficial Windows Binaries for Python Extension Packages) and installing it with the command:

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

For some reason it gave me that error, for which I uninstalled it with:

pip uninstall wxPython

and then I downloaded it from here (wxPython 4.0.0a1) and reinstalled:

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

The error at this point has not been presented anymore.

Solution 6 - Python

I too face the same problem, I like to share which I was faced so it can be helpful for anyone. In my case I have installed both python2. 7 and python3, and tested the application in python3 after some analysis I used > pip show wxpython-common

to find the location of wx which was in

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

so i understood in my case wx will work only in python2.7 environment

Solution 7 - Python

In fedora you can use following command to install wx

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

Solution 8 - Python

I'm on 64-bit Windows 7 and went to:

https://wxpython.org/

Then downloaded the exe for my system, installed it, and it worked for me.

Solution 9 - Python

Download the .whl file from this link.

The name of the file is: wxPython‑3.0.2.0‑cp27‑none‑win32.whl for Windows 32 bit and python 2.7 and wxPython‑3.0.2.0‑cp27‑none‑win_amd64.whl for Windows 64 bit and python 2.7.

Then in the command prompt: pip install location-of-the-above-saved-file

Solution 10 - Python

Just open your terminal and run this command thats for windows users pip install -U wxPython

for Ubuntu user you can use this

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

Solution 11 - Python

This worked for me

pip install --user -U wxPython

Solution 12 - Python

You may check if you have the directory where are the packages of Python (in my machine, this dir is C:\Python27\lib\site-packages) in the Path variable on Windows. If Python's path environment variable does not have this directory, you will not find the packages.

Solution 13 - Python

If you do not have wx installed on windows you can use :

 pip install wx

Solution 14 - Python

I restart the IDLE and works for me!

Solution 15 - Python

Make sure you choose the right project intepreter in the compiler. I used the Pycharm, and I encountered the same problem. And it was solved by choose the right intepreter. Thisvideo may help you.

Solution 16 - Python

Generally, package names in the site-packages folder are intended to be imported using the exact name of the module or subfolder.

If my site-packages folder has a subfolder named "foobar", I would import that package by typing import foobar.

One solution might be to rename site-packages\wx-2.8-msw-unicode to site-packages\wx.

Or you could add C:\Python27\Lib\site-packages\wx-2.8-msw-unicode to your PYTHONPATH environment variable.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionLuke BreamView Question on Stackoverflow
Solution 1 - PythonGiuseppe UrsoView Answer on Stackoverflow
Solution 2 - PythonfrmdstryrView Answer on Stackoverflow
Solution 3 - PythonShivam AgrawalView Answer on Stackoverflow
Solution 4 - Pythonunrealsoul007View Answer on Stackoverflow
Solution 5 - PythonRiccardo VolpeView Answer on Stackoverflow
Solution 6 - PythonJanarthanan RamuView Answer on Stackoverflow
Solution 7 - PythonNilesh PawarView Answer on Stackoverflow
Solution 8 - PythonSamuelView Answer on Stackoverflow
Solution 9 - PythonForouq KhonsariView Answer on Stackoverflow
Solution 10 - PythonJaphet JohnsonView Answer on Stackoverflow
Solution 11 - Pythonraw_hittView Answer on Stackoverflow
Solution 12 - Pythonuser2957482View Answer on Stackoverflow
Solution 13 - PythonmichaelView Answer on Stackoverflow
Solution 14 - PythonjosedlujanView Answer on Stackoverflow
Solution 15 - PythonGuancheng FuView Answer on Stackoverflow
Solution 16 - PythonJohn GordonView Answer on Stackoverflow