Pip 说它成功安装了 mysqlclient,但找不到它或无法卸载它
Pip says it installs mysqlclient successfully, but cannot find it or uninstall it
我 运行 遇到以下问题,试图在 AWS EC2 实例上安装 mysqlclient 作为启动 Django 项目和 运行 的一部分。
在 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>
然后作为完整性检查,我显然成功安装了它,但是 pip 找不到它来卸载它:
(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
我有的其他东西tried/verified
- 确保 python 是 64 位版本
- 在虚拟环境之外检查 pip
- 核对虚拟环境并重新开始
- 正在尝试安装特定版本的
mysqlclient
- 安装和importing/using任何其他python包
编辑:想补充一点,我也删除了 pip 缓存,但它仍然不起作用。
回答我自己的问题,因为我终于弄明白了。
根据@user202729 的评论,我 运行 在详细模式下 pip pip install mysqlclient --verbose
据我所知,它本身并没有显示任何异常,但确实显示 mysqlclient
和 MySQLdb
相关文件被安装在 /dist-packages
中,而我的 python 安装并未选择这些文件。我将 MySQLdb
目录从 venv3/lib64/python3.8/dist-packages
复制到 venv3/lib64/python3.8/site-packages
并解决了 python
和 django
问题。
我 运行 遇到以下问题,试图在 AWS EC2 实例上安装 mysqlclient 作为启动 Django 项目和 运行 的一部分。
在 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>
然后作为完整性检查,我显然成功安装了它,但是 pip 找不到它来卸载它:
(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
我有的其他东西tried/verified
- 确保 python 是 64 位版本
- 在虚拟环境之外检查 pip
- 核对虚拟环境并重新开始
- 正在尝试安装特定版本的
mysqlclient
- 安装和importing/using任何其他python包
编辑:想补充一点,我也删除了 pip 缓存,但它仍然不起作用。
回答我自己的问题,因为我终于弄明白了。
根据@user202729 的评论,我 运行 在详细模式下 pip pip install mysqlclient --verbose
据我所知,它本身并没有显示任何异常,但确实显示 mysqlclient
和 MySQLdb
相关文件被安装在 /dist-packages
中,而我的 python 安装并未选择这些文件。我将 MySQLdb
目录从 venv3/lib64/python3.8/dist-packages
复制到 venv3/lib64/python3.8/site-packages
并解决了 python
和 django
问题。