Python - 没有名为 'PyMySQL' 的模块

Python - No module named 'PyMySQL'

我正在尝试添加“PyMySQL,但它一直抛出错误

Traceback (most recent call last):
  File "/home/john/workspace/Python/sql/sql.py", line 1, in <module>
    import PyMySQL
ImportError: No module named 'PyMySQL'

我尝试通过 pip 安装它并再次 运行 它,但错误并没有消失。关于什么是错误的任何想法?

john@john-PC:$ sudo pip install PyMySQL
The directory '/home/john/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/john/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting PyMySQL
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:318: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning.
  SNIMissingWarning
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Downloading PyMySQL-0.7.9-py2-none-any.whl (78kB)
    100% |████████████████████████████████| 81kB 1.3MB/s 
Installing collected packages: PyMySQL
Successfully installed PyMySQL-0.7.9

john@john-PC:$ pip install PyMySQL
Requirement already satisfied (use --upgrade to upgrade): PyMySQL in /usr/local/lib/python2.7/dist-packages

john@john-PC:$ sudo apt-get install python3-pymysql
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3-pymysql is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 56 not upgraded.

sql.py

import PyMySQL
print("Here")

解决方案。 它是以下两个答案的组合,加上在线错误报告。

apt-get install software-properties-common
add-apt-repository cloud-archive:mitaka
apt-get update && apt-get dist-upgrade 
sudo apt-get install python3-pymysql
import pymysql

尝试运行

sudo apt-get install python3-pymysql

对于 python3。

已在

处回答

我最近遇到了同样的问题。我用这个解决了它:

sudo pip-3.2 install pymysql**3**

pymysql3 中的那个 3 使一切变得不同。

raspberry pi 气喘

它抛出错误的原因,即使安装了正确的包也是因为正在使用的名称。它应该是 "import pymysql" 而不是 "import PyMySQL"。这对我有用。

使用 Debian 9 并从 BASH 调用 python3。

import pymysql

对我有用

import PyMySql

失败

Traceback (most recent call last): File "", line 1, in NameError: name 'PyMySQL' is not defined

安装后"PyMySQL",还需要更新the _init__.py,添加import pymysql <br> pymysql.install_as_MySQLdb() 并在 base.py.

中将 MySQLdb 替换为 pymysql

这对我有用:

#!/usr/bin/env python3

#Importing needed modules of PyMySQL
from pymysql import connect, err, sys, cursors

#Doing our connection
conn = connect( host = 'localhost',

cursor = conn.cursor( cursors.DictCursor );

我发现如果我使用 PyCharm 的 Interpreter Add Package GUI 那么我的电脑可以找到 pymysql。

我只在使用 VSCode 时遇到过这个问题。

使用pip或pipenv安装PyMySQL依赖:

pip install PyMySQL

pipenv install PyMySQL

然后将其添加到您的 settings.py (django) 文件中:

import pymysql
pymysql.install_as_MySQLdb()

就是这样!这对我有用。