ModuleNotFoundError: No module named 'MySQLdb'
老师,我在虚拟环境下终端运行python manage.py db migrate后,程序没有去我D盘的虚拟环境里找包,而是去C盘的原生python里找包,导致好多包ModuleNotFoundError,有什么办法可以让manage.py去我的虚拟环境找包吗?
相关代码:
from flask_migrate import Migrate, MigrateCommand
from flask_script import Manager
from app import app
from app import db
manager = Manager(app)
# 1.要使用flask-migrate,必须先绑定db和app
migrate = Migrate(app, db)
# 2.把migrateCommand命令添加到manager中。
manager.add_command('db', MigrateCommand)
if __name__ == "__main__":
manager.run()
相关代码:
Microsoft Windows [版本 10.0.19042.928]
(c) Microsoft Corporation。保留所有权利。
(venv) D:\ITrelated\lab_wiki_test>python manage.py db migrate
C:\Python\lib\site-packages\flask_sqlalchemy\__init__.py:873: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the futur
e. Set it to True or False to suppress this warning.
'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '
Traceback (most recent call last):
File "manage.py", line 16, in <module>
manager.run()
File "C:\Python\lib\site-packages\flask_script\__init__.py", line 417, in run
result = self.handle(argv[0], argv[1:])
File "C:\Python\lib\site-packages\flask_script\__init__.py", line 386, in handle
res = handle(*args, **config)
File "C:\Python\lib\site-packages\flask_script\commands.py", line 216, in __call__
return self.run(*args, **kwargs)
File "C:\Python\lib\site-packages\flask_migrate\__init__.py", line 96, in wrapped
f(*args, **kwargs)
File "C:\Python\lib\site-packages\flask_migrate\__init__.py", line 212, in migrate
version_path=version_path, rev_id=rev_id)
File "C:\Python\lib\site-packages\alembic\command.py", line 212, in revision
script_directory.run_env()
File "C:\Python\lib\site-packages\alembic\script\base.py", line 490, in run_env
util.load_python_file(self.dir, "env.py")
File "C:\Python\lib\site-packages\alembic\util\pyfiles.py", line 97, in load_python_file
module = load_module_py(module_id, path)
File "C:\Python\lib\site-packages\alembic\util\compat.py", line 182, in load_module_py
spec.loader.exec_module(module)
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "migrations\env.py", line 25, in <module>
str(current_app.extensions['migrate'].db.engine.url).replace('%', '%%'))
File "C:\Python\lib\site-packages\flask_sqlalchemy\__init__.py", line 998, in engine
return self.get_engine()
File "C:\Python\lib\site-packages\flask_sqlalchemy\__init__.py", line 1017, in get_engine
return connector.get_engine()
File "C:\Python\lib\site-packages\flask_sqlalchemy\__init__.py", line 594, in get_engine
self._engine = rv = self._sa.create_engine(sa_url, options)
File "C:\Python\lib\site-packages\flask_sqlalchemy\__init__.py", line 1027, in create_engine
return sqlalchemy.create_engine(sa_url, **engine_opts)
File "<string>", line 2, in create_engine
File "C:\Python\lib\site-packages\sqlalchemy\util\deprecations.py", line 298, in warned
return fn(*args, **kwargs)
File "C:\Python\lib\site-packages\sqlalchemy\engine\create.py", line 548, in create_engine
dbapi = dialect_cls.dbapi(**dbapi_args)
File "C:\Python\lib\site-packages\sqlalchemy\dialects\mysql\mysqldb.py", line 118, in dbapi
return __import__("MySQLdb")
ModuleNotFoundError: No module named 'MySQLdb'
(venv) D:\ITrelated\lab_wiki_test>
13
收起
正在回答 回答被采纳积分+1
1回答
3.从网页搭建入门Python Web
- 参与学习 人
- 提交作业 218 份
- 解答问题 3562 个
本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星