首页 > 解决方案 > jupyter notebook 中未定义名称“__file__”

问题描述

我想在 jupyter notebook 中运行这个存储库 https://github.com/werner-duvaud/muzero-general,但是当我复制所有代码并在 jupyter 中上传所有文件时,我得到了这个错误:

os.listdir(os.path.dirname(os.path.realpath(__file__)) + "/games")

我应该使用克隆...吗?可以帮我解决这个问题吗?谢谢

标签: python-3.xjupyter

解决方案


由于您使用的环境而出现问题。当您在 Jupyter notebook 中运行 python 代码时,您并没有运行通常的 python 环境 - 您正在使用 iPython 运行它 - 交互式 shell(版本 7.12.0 目前是最后一个)。并且它没有__file__像主流 python 环境那样定义隐藏变量 - 所以它不知道在哪里寻找“/游戏”文件夹。

你可以做什么:

  1. 在定义了“文件”变量的普通 python 环境中运行它
  2. 尝试将您的 Jupyter 笔记本文件放在此项目文件夹中,并使用 os.getcwd() 代替os.path.dirname(os.path.realpath(__file__))或以任何其他适合您的方式更改路径。

推荐阅读