使用Pipenv在Python3.5.2安装Theano后提示无该模块求助
嘿,我之前也碰到过一模一样的情况——明明安装日志全是成功提示,结果导入模块时就报错说找不到。这大概率是Pipenv的虚拟环境没正确激活,或者你调用的Python不是虚拟环境里的版本。给你一步步排查解决的方法:
1. 先确认是否激活了正确的Pipenv环境
安装完成后终端提示的"To activate this project's..."是核心提示,说明你还没进入项目专属的虚拟环境。执行这条命令激活:
pipenv shell
激活成功后,终端前缀会变成(你的项目名称),这时候打开Python交互模式试试:
import theano print(theano.__version__)
如果能正常输出1.0.1,那就是环境没激活的问题,之后每次操作都记得先激活环境就行。
2. 不用进入shell,直接用Pipenv运行脚本
要是不想每次都手动进入shell,也可以直接用Pipenv来运行你的代码,这样会自动调用虚拟环境里的Python:
pipenv run python 你的脚本文件名.py
这种方式能彻底避免误用到系统全局的Python版本。
3. 检查Pipenv绑定的Python版本是不是3.5.2
有时候系统里存在多个Python版本,Pipenv自动选择的版本可能和你指定的3.5.2不一致。先查一下当前环境的Python版本:
pipenv run python --version
如果输出不是Python 3.5.2,那就重新创建指定版本的环境:
pipenv --python 3.5.2
然后重新安装Theano:
pipenv install theano==1.0.1
4. 确认Theano真的装在虚拟环境里
偶尔会出现安装日志显示成功,但实际有隐藏错误导致安装失败的情况。你可以列出虚拟环境里的所有包,看看Theano在不在:
pipenv run pip list
如果能找到theano那一行,说明安装没问题,就是调用环境的问题;如果找不到,就用verbose模式重新安装,看看具体哪里出错了:
pipenv install theano==1.0.1 --verbose
5. 调整IDE的Python解释器配置
如果你用PyCharm、VS Code这类编辑器写代码,得把解释器切换到Pipenv创建的虚拟环境。先找虚拟环境的路径:
pipenv --venv
复制这个路径,然后在IDE的解释器设置里,选择这个路径下的bin/python(Linux/macOS)或者Scripts/python.exe(Windows),这样编辑器就会用正确的环境运行代码了。
内容的提问来源于stack exchange,提问作者abc mankas

