You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PythonAnywhere中加载MySQLdb模块失败问题求助

解决Django在PythonAnywhere上连接MySQL的依赖问题

核心问题分析

你遇到的错误本质是Python环境不匹配:系统级安装的库(/usr/local/lib/python3.10/site-packages)和Django应用实际使用的Python环境(通常是虚拟环境)不共用,导致代码找不到已安装的库。PythonAnywhere免费版没有限制第三方库的访问权限,无需怀疑这个。

分步解决方案

1. 确认Django应用使用的Python环境

  • 登录PythonAnywhere,进入Web标签页,查看"Virtualenv"部分:如果设置了虚拟环境,会显示对应路径(比如/home/yourusername/.virtualenvs/yourenv)
  • 打开PythonAnywhere控制台,激活对应虚拟环境:
    workon your-virtualenv-name
    
  • 运行pip list,检查输出里是否有mysqlclient或pymysql——如果没有,说明之前的安装是在系统Python环境中,而非应用实际使用的环境。

2. 在正确环境中重新安装依赖

如果继续使用mysqlclient:

pip install mysqlclient==2.1.0

如果想用pymysql替代:

pip install pymysql

3. 确保__init__.py配置正确

把以下代码放在项目根目录的__init__.py(和settings.py同一文件夹的文件,不是单个app目录下的):

import pymysql
pymysql.install_as_MySQLdb()

4. 验证数据库配置

打开settings.py,确认MySQL配置项正确:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'your_database_name',  # PythonAnywhere上创建的MySQL数据库名
        'USER': 'your_pythonanywhere_username',
        'PASSWORD': 'your_mysql_password',
        'HOST': 'your_username.mysql.pythonanywhere-services.com',
        'PORT': '3306',
    }
}

5. 重启PythonAnywhere应用

回到Web标签页,点击"Reload"按钮,让应用加载新的依赖和配置。

内容的提问来源于stack exchange,提问作者NurseStacey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 17:14:56