已安装future模块仍遇ModuleNotFoundError:找不到'past'模块
ModuleNotFoundError: No module named 'past'的问题 你已经在本地和虚拟环境里安装了future模块,但Jupyter还是找不到past——这大概率是因为Jupyter使用的Python环境和你安装future的环境不匹配。下面是几个针对性的解决方案,按步骤来试:
第一步:确认Jupyter的Python环境
先在Jupyter Notebook里运行这段代码,看看当前kernel依赖的Python解释器路径:
import sys print(sys.executable)
输出的路径(比如C:\Users\JON\.env\Scripts\python.exe或者C:\Python38\python.exe)就是Jupyter当前在用的环境。对比你安装future时激活的环境路径,如果不一致,问题根源就在这里。
解决方案1:给虚拟环境注册Jupyter Kernel(推荐)
如果你用虚拟环境开发,最稳妥的方式是把虚拟环境添加为Jupyter的专属kernel:
- 激活你的虚拟环境:
(.env) C:\Users\JON> - 在虚拟环境内安装
ipykernel工具:pip install ipykernel - 将当前环境注册到Jupyter的kernel列表:
其中python -m ipykernel install --user --name=my-env-kernel --display-name="My Virtual Env"my-env-kernel是内核的标识名,My Virtual Env是在Jupyter界面显示的名称,你可以改成自己好记的名字。 - 重启Jupyter Notebook,在顶部菜单栏的「Kernel」→「Change Kernel」里选择你刚添加的内核,再运行导入语句试试。
解决方案2:直接在Jupyter内安装future
如果不想折腾kernel,也可以直接在Notebook里执行安装命令,这样会自动用当前kernel对应的pip来安装:
!pip install future
安装完成后,重新运行from past.builtins import xrange应该就能成功了。
解决方案3:用Python绝对路径指定安装环境
如果上面的方法都没效果,可以用第一步得到的Python路径,直接指定该环境的pip来安装:
比如第一步输出的路径是C:\Users\JON\.env\Scripts\python.exe,就在命令行运行:
C:\Users\JON\.env\Scripts\python.exe -m pip install future
这样能确保future模块被安装到Jupyter正在使用的环境中。
验证安装有效性
不管用哪种方法,安装后可以在Jupyter里运行这段代码确认:
import future print(future.__file__)
如果输出路径指向当前环境的site-packages目录下的future文件夹,说明安装成功,再导入past就不会报错了。
内容的提问来源于stack exchange,提问作者Jon Nir

