问题描述
我是kedro的新手,使用命令kedro jupyter lab
从Kedro打开Jupyter Lab / Notebook时遇到问题。
错误是:
TypeError:无法使用抽象方法project_name,project_version实例化抽象类ProjectContext
使用--verbose运行以查看完整的异常
错误:无法在环境None
中加载Kedro上下文。确保它存在于项目配置中。
错误:无法使用抽象方法project_name,project_version
我一直遵循kedro official docs网站中的步骤,但没有成功。出于复制目的,这是我执行的步骤:
- 创建新的conda环境:
conda create --name myenv
- 激活环境:
source activate myenv
- 使用pyspark启动器创建新的kedro项目:
kedro new --starter=pyspark
- 转到新创建的项目文件夹:
cd my_project
- 安装要求:
kedro install
- 打开jupyter实验室:
kedro jupyter lab --no-browser
第6步给了我错误。 附带说明一下,我必须重复两次执行第5点,因为这是第一次给我带来了不兼容的错误,但是后来我再次执行它,它就可以了。
对不起,如果我没有过多说明,这是第一次在stackoverflow中进行询问。随时问您需要的任何细节,我很乐意为您解答。
谢谢。
解决方法
按照您的步骤操作时,我无法重现该问题,但是我注意到您的旅程中缺少一些重要的步骤。这对我有用:
- 创建新的conda环境:
conda create --name myenv **python=3.6**
- 激活环境:
conda activate myenv
- 在
myenv
中安装Kedro:pip install kedro
- 使用pyspark启动器创建新的kedro项目:
kedro new --starter=pyspark
- 转到新创建的项目文件夹:
cd my_project
- 安装要求:
kedro install
- 打开jupyter实验室:
kedro jupyter lab --no-browser
对于第1步,重要的一点是要具体说明Python版本,因为Anaconda可以创建一个默认情况下Kedro不支持的Python环境。
第3步是必需的,因为如果在基本的Anaconda环境中安装了Kedro,但尝试在当前选择的环境中使用它,则可能会遇到一些难以调试的问题。请注意,这不是Kedro所特有的,而是Anaconda所特有的-我已经看到人们在使用pylint
时忘记了很多次,却忘记将其安装在新环境中。
我希望这可以帮助您成功地重新创建项目。