Reputation: 1395
I'm trying to use PyMySQL on Ubuntu.
I've installed pymysql
using both pip
and pip3
but every time I use import pymysql
, it returns ImportError: No module named 'pymysql'
I'm using Ubuntu 15.10 64-bit and Python 3.5.
The same .py works on Windows with Python 3.5, but not on Ubuntu.
Upvotes: 77
Views: 294235
Reputation: 383
When attempting to execute c = connection.cursor() within the Python shell in the context of my Django project, I encountered the same error.
pymysql has already been installed using pip in my environment
I have discovered that it's essential to install the PyMySQL package using the Python interpreter associated with the project's environment. This ensures the package is correctly installed and readily available for import within the project's context.
To verify that you're using the correct Python interpreter, you can follow these steps
In my case, I am using Python 3.12.2, which corresponds to the command: C:\Users\brand\AppData\Local\Programs\Python\Python312\python.exe.
Since I'm using Git Bash in VSCode, the appropriate command to install PyMySQL would be: C:/Users/brand/AppData/Local/Programs/Python/Python312/python.exe -m pip install pymysql. Executing this command in the Git Bash terminal will install the PyMySQL package.
I successfully resolved the issue by directly installing PyMySQL using the Python interpreter.
A Python shell is initiated within a Django project, facilitating the establishment of a database connection. This setup enables interaction with the database through Django's ORM (Object-Relational Mapper).
Upvotes: 0
Reputation: 162
For anaconda user,
I got this error message. ModuleNotFoundError: No module named 'pymysql'
So tried 'pip install pymysql' but got below. Requirement already satisfied: pymysql
What worked for me is,
python file.py (NOT py file.py)
Upvotes: 0
Reputation: 2720
The following pymysql
version worked for me:
pip install pymysql==1.0.2
Upvotes: 1
Reputation: 5178
I ran into the same problem earlier, but solved it in a way slightly different from what we have here. So, I thought I'd add my way as well. Hopefully, it will help someone!
sudo apt-get install mysql-client
didn't work for me. However, I have Homebrew already installed. So, instead, I tried:
brew install mysql-client
Now, I don't get the error any more.
Upvotes: 0
Reputation: 1
I tried installing pymysql on command prompt by typing
pip install pymysql
But it still dont work on my case, so I decided to try using the terminal IDE and it works.
Upvotes: 0
Reputation: 2700
Another common issue causing the error message to appear is related to conda
environments in jupyter notebook
and jupyter lab
.
After successfully installing a module (pymysql
in this case) in one environment, import
may seem to fail because the environment has not been correctly registered. To solve this it is necessary to manually add kernels for each environment.
Solution and more details can be found here.
Upvotes: 0
Reputation: 1
I also got this error recently when using Anaconda on a Mac machine.
Here is what I found:
python3 -m pip install PyMySql,
pymysql module is under /Library/Python/3.7/site-packages
/opt/anaconda3/lib/python3.8/site-packages
Therefore, after copying pymysql module to the designated path, it runs correctly.
Upvotes: 0
Reputation: 21
For windows or one using google colab, you can try this
!pip install pymysql
import pymysql
Upvotes: 2
Reputation: 1
if you are using SPYDER IDE , just try to restart the console or restart the IDE, it works
Upvotes: 0
Reputation: 186
To get around the problem, find out where pymysql is installed.
If for example it is installed in /usr/lib/python3.7/site-packages
, add the following code above the import pymysql
command:
import sys
sys.path.insert(0,"/usr/lib/python3.7/site-packages")
import pymysql
This ensures that your Python program can find where pymysql is installed.
Upvotes: 9
Reputation: 53
Just a note: for Anaconda install packages command:
Upvotes: 0
Reputation: 1965
After trying a few things, and coming across PyMySQL Github, this worked:
sudo pip install PyMySQL
And to import use:
import pymysql
Upvotes: 26
Reputation: 1852
I had this same problem just now, and found the reason was my editor (Visual Studio Code) was running against the wrong instance of python; I had it set to run again python bundled with tensorflow, I changed it to my Anaconda python and it worked.
Upvotes: 0
Reputation: 185
sudo apt-get install python3-pymysql
This command also works for me to install the package required for Flask app to tun on ubuntu 16x with WISG module on APACHE2 server.
BY default on WSGI uses python 3 installation of UBUNTU.
Anaconda custom installation won't work.
Upvotes: 0
Reputation: 718
Make sure that you're working with the version of Python that think you are. Within Python run import sys
and print(sys.version)
.
Select the correct package manager to install pymysql with:
sudo pip install pymysql
.sudo pip3 install pymysql
.sudo conda install pymysql
.sudo apt-get install pymysql
.If all else fails, install the package directly:
sudo python3 setup.py install
.This answer is a compilation of suggestions. Apart from the other ones proposed here, thanks to the comment by @cmaher on this related thread.
Upvotes: 7
Reputation: 197
If even sudo apt-get install python3-pymysql
does not work for you try this:
sudo python3 setup.py install
Upvotes: 8
Reputation: 1085
Sort of already answered this in the comments, but just so this question has an answer, the problem was resolved through running:
sudo apt-get install python3-pymysql
Upvotes: 81