Poetry安装TensorFlow后执行脚本遇ModuleNotFoundError求助
问题分析
从错误日志可见,执行poetry run start时系统调用的是Conda基础环境的Python(路径为D:\Python\Anaconda3\lib\importlib),而非Poetry创建的项目虚拟环境(.venv),导致虚拟环境中已安装的tensorflow无法被识别。
解决方案
1. 重置Poetry虚拟环境配置
执行以下命令强制Poetry使用项目内的独立虚拟环境,并重新构建依赖:
# 配置Poetry将虚拟环境放在项目根目录 poetry config virtualenvs.in-project true # 删除现有虚拟环境 poetry env remove python # 重新创建虚拟环境并安装全部依赖 poetry install
2. 手动激活虚拟环境后运行脚本
Windows系统下,进入项目根目录下的.venv\Scripts文件夹,执行激活命令:
activate
激活成功后直接运行脚本:
start
或直接调用模块验证:
python -m myproject.main
3. 检查项目结构完整性
确保myproject目录下存在__init__.py文件(空文件即可),让Python将其识别为合法的Python包,项目结构应为:
myproject-series-forecast/ ├── pyproject.toml └── myproject/ ├── __init__.py └── main.py
4. 验证虚拟环境依赖状态
执行以下命令进入Poetry虚拟环境的Python交互模式,确认tensorflow是否安装成功:
poetry run python
在交互环境中执行导入操作:
import tensorflow as tf print(tf.__version__)
若能正常打印tensorflow版本,说明依赖安装无问题,只需确保脚本运行在正确的虚拟环境中即可。
内容的提问来源于stack exchange,提问作者chrx
相关产品推荐
相关产品推荐

