【FATE联邦学习debug】 No module named ‘federatedml‘

直接pip install federatedml是无法找得到这个库的。
这个的原因是环境变量的事情,因为在部署文档中,本身提示我们要更新一些环境变量,如果不export那些变量,下面的fate_test其实也是无法测试成功的。

【FATE联邦学习debug】 No module named ‘federatedml‘_第1张图片
打开bin/init_env.sh,其内容如下

#!/bin/bash

#
#  Copyright 2019 The FATE Authors. All Rights Reserved.
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#

fate_project_base=$(cd `dirname "$(realpath "${BASH_SOURCE[0]:-${(%):-%x}}")"`; cd ../;pwd)
export FATE_PROJECT_BASE=$fate_project_base
export FATE_DEPLOY_BASE=$fate_project_base
export EGGROLL_HOME=
export PYTHONPATH=/root/Downloads/standalone_fate_install_1.10.0_release/fate/python:/root/Downloads/standalone_fate_install_1.10.0_release/fateflow/python

export FATE_LOG_LEVEL=DEBUG
export FATE_PROFILE_LOG_ENABLED=0
export EGGROLL_LOG_LEVEL=INFO

venv=/root/Downloads/standalone_fate_install_1.10.0_release/env/python/venv
export JAVA_HOME=/root/Downloads/standalone_fate_install_1.10.0_release/env/jdk/jdk-8u345
export PATH=$PATH:$JAVA_HOME/bin
source ${venv}/bin/activate

可以看到这个库本身在下载的FATE包里
【FATE联邦学习debug】 No module named ‘federatedml‘_第2张图片

那接下来其实可以给conda的python解释器添加环境变量,如何做?
先查看下当前的python解释器的路径echo $PATHecho $PYTHONPATH$,由于我使用的是conda虚拟环境,我就使用conda自带的虚拟环境的环境变量工具添加上init_env那两个路径就行了

init_env文件想export PYTHONPATH

export PYTHONPATH=/root/Downloads/standalone_fate_install_1.10.0_release/fate/python:/root/Downloads/standalone_fate_install_1.10.0_release/fateflow/python

那用conda的话就直接

conda-env config  vars set PYTHONPATH=/root/Downloads/standalone_fate_install_1.10.0_release/fate/python:/root/Downloads/standalone_fate_install_1.10.0_release/fateflow/python

输入后,提示To make your changes take effect please reactivate your environment
这样就可以了。

如果你不用conda,你也可以直接跟文件里的那样直接输入``
export PYTHONPATH=/root/Downloads/standalone_fate_install_1.10.0_release/fate/python:/root/Downloads/standalone_fate_install_1.10.0_release/fateflow/python``,应该也行,但是你的代码编辑器大概率还会报错,但是运行是可以运行的。

如果还想代码编辑器不报错,可以在vscode的python插件里的extra path setting里加入federatedml的目录。可以参考本人的回答:https://segmentfault.com/q/1010000043514241/a-1020000043868000

你可能感兴趣的:(算法机器学习人工智能深度学习)