Python Pip说它成功安装了mysqlclient,但找不到它或无法卸载它

Python Pip说它成功安装了mysqlclient,但找不到它或无法卸载它,python,python-3.x,mysql-connector,Python,Python 3.x,Mysql Connector,我在尝试安装mysqlclient时遇到了以下问题,这是启动Django项目并在AWS EC2实例上运行的一部分 在python 3.8.5虚拟环境中: (venv3)$ which pip ~/venv3/bin/pip (venv3)$ pip --version pip 21.0.1 from /home/ec2-user/venv3/local/lib/python3.8/dist-packages/pip (python 3.8) (venv3)$ pip install mysq

我在尝试安装mysqlclient时遇到了以下问题,这是启动Django项目并在AWS EC2实例上运行的一部分

python 3.8.5
虚拟环境中:

(venv3)$ which pip
~/venv3/bin/pip

(venv3)$ pip --version
pip 21.0.1 from /home/ec2-user/venv3/local/lib/python3.8/dist-packages/pip (python 3.8)

(venv3)$ pip install mysqlclient
Collecting mysqlclient
  Using cached mysqlclient-2.0.3-cp38-cp38-linux_x86_64.whl
Installing collected packages: mysqlclient
Successfully installed mysqlclient-2.0.3
我尝试运行Django Shell:

(venv3)$ python manage.py shell
...full trace stack truncated for brevity...
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
因此,我试图找到pip安装它的位置,但它似乎没有实际安装,或者在任何地方都有它的踪迹:

(venv3)$ pip show mysqlclient
WARNING: Package(s) not found: mysqlclient

(venv3)$ pip freeze | grep -i mysqlclient
<nothing>

(venv3)$ sudo find / -name mysqlclient
<nothing>
我试过/验证过的其他事情

  • 确保python是64位版本
  • 在虚拟环境之外检查pip
  • 核化虚拟环境并重新启动
  • 正在尝试安装特定版本的
    mysqlclient
  • 安装和导入/使用任何其他python包

编辑:想补充一点,我也删除了pip缓存,但它仍然不工作。

回答我自己的问题,因为我终于找到了答案


根据@user202729的评论,我在verbose模式下运行了pip
pip安装mysqlclient--verbose
,据我所知,它本身并没有显示出任何异常,但是确实显示了
mysqlclient
MySQLdb
相关文件正在
/dist包中安装,而我的python安装没有选择这些文件。我将
MySQLdb
目录从
venv3/lib64/python3.8/dist软件包
复制到
venv3/lib64/python3.8/site软件包
,解决了
python
django
问题。

也许可以尝试
pip安装-升级-无deps-强制重新安装mysqlclient
相同的输出,给出安装成功消息,但找不到它。python-c“import mysqlclient”
会发生什么?你能用它连接到django之外的数据库吗?是否确实正确指定了数据库信息和凭据?ModuleNotFoundError。数据库信息/凭据正常,可在此计算机上和本地工作。这只是让Django/python3连接到mysqlTry以详细模式运行pip的问题。它记录了什么吗?“复制”?这肯定会解决问题(以及手动将源文件提取到正确的目录中),但仍不清楚根本问题是什么。通过一些搜索(这并不能解释太多),但可能是因为某些环境变量,pip配置或配置错误的PYTHONPATH。我认为它是两个配置之一,但我的头撞到墙上的时间已经够长了,所以现在可以用了。我遇到了同一个问题,它只是启发了解决方案,而没有解释它。
(venv3)$ pip install mysqlclient
Collecting mysqlclient
  Using cached mysqlclient-2.0.3-cp38-cp38-linux_x86_64.whl
Installing collected packages: mysqlclient
Successfully installed mysqlclient-2.0.3

(venv3)$ pip uninstall mysqlclient
WARNING: Package(s) not found: mysqlclient