Skip to main content
 首页 » 编程设计

python之MySQLdb模块真实文件路径在哪里

2024年12月31日20unruledboy

In [29]: import MySQLdb 
In [31]:  MySQLdb 
Out[31]: <module 'pymysql' from 'G:\\QGB\\Anaconda3\\lib\\site-packages\\pymysql\\__init__.py'> 

为什么 MySQLdb 不存在,为什么我可以导入它?

我想知道为什么在 sys.path 中没有“MySQLdb”python 文件或目录。我应该如何在 Python 中导入“MySQLdb”?

在 Django 中 VERSION = (2, 1, 1, 'final', 0),
\Lib\site-packages\django\db\backends\mysql\base.py 第 15 行。

 import MySQLdb as Database 

请您参考如下方法:

MySQLdb 导入可能来自不同的包(使用 pip install mysqlclient 安装)。

发行版 pymysql 旨在用作 the original project 的直接替代品, 但出于礼貌,他们没有采用相同的进口名称。相反,they provide a convenience function在 sys.modules 中占用相同的名称。这样,import MySQLdb 将不再尝试遍历 sys.path,而是重新使用已经加载的 pymysql 模块:

>>> import pymysql 
>>> pymysql.install_as_MySQLdb?? 
Signature: pymysql.install_as_MySQLdb() 
Source:    
def install_as_MySQLdb(): 
    """ 
    After this function is called, any application that imports MySQLdb or 
    _mysql will unwittingly actually use pymysql. 
    """ 
    sys.modules["MySQLdb"] = sys.modules["_mysql"] = sys.modules["pymysql"] 
File:      ~/.venv/lib/python3.7/site-packages/pymysql/__init__.py 
Type:      function