windows环境安装隐语
参考链接:https://www.secretflow.org.cn/zh-CN/docs/secretflow/v1.3.0b0/getting_started/installation
wsl子系统准备
隐语不直接支持Windows, 请使用WSL(Windows Subsystem for Linux)
在Windows上安装WSL2
请遵循 中文指南 或 英文指南 安装WSL。请确保WSL版本为2。
中文指南地址:https://learn.microsoft.com/zh-cn/windows/wsl/install
GNU/Linux推荐使用Ubuntu。
接下来,在powershell中运行。
查看发行版(科学的上网很有必要)
wsl --list --online
安装Ubuntu 2204(过程中需要设置用户名和口令)
wsl --install Ubuntu-22.04
安装后的查看列表(2代表是wsl2的版本,符合要求)
PS C:\Users\95762> wsl -l -v
NAME STATE VERSION
Ubuntu-22.04 Running 2
。
安装隐语
在wsl子系统安装好之后,基本可以按照Linux的方式去安装Secretflow了。
在WSL中安装Anaconda
请在WSL的GNU/Linux中安装anaconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
确保conda的环境变量生效。
配置虚拟环境。
conda create -n sf python=3.8
conda activate sf
安装secretfow(-i部分为指定阿里源)
pip install -U secretflow -i https://mirrors.aliyun.com/pypi/simple/
测试sf
测试代码
import secretflow as sf
sf.init(parties=['alice', 'bob', 'carol'], address='local')
alice_device = sf.PYU('alice')
message_from_alice = alice_device(lambda x:x)("Hello World!")
print(sf.reveal(message_from_alice))
可能缺失的依赖
sudo apt-get update
sudo apt-get install libgomp1
安装secretnote
参考文档:https://docs.docker.com/go/wsl2/
设置为默认(powershell)
wsl --set-default Ubuntu-22.04
尝试拉起docker镜像
(sf) yekai@localhost:~/note$ docker compose up
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dnote%22%3Atrue%7D%7D": dial unix /var/run/docker.sock: connect: permission denied
如若发生上述错误,可以如下设置。
(sf) yekai@localhost:~/note$ sudo usermod -aG docker $USER
设置默认子系统。
wsl --set-default Ubuntu-22.04
重启docker和子系统后,再尝试。
(base) yekai@localhost:~/note$ docker compose up
[+] Running 18/21
⠏ alice Pulling 684.0s
⠏ bob [⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 1.781GB / 1.803GB Pulling 684.0s
✔ 54273d8675f3 Pull complete 104.3s
✔ 541c3512c90f Pull complete 104.3s
✔ 89ae0208348d Pull complete 104.6s
✔ 5d77e5ed4199 Pull complete 107.9s
✔ 74be91de5e2d Pull complete 108.2s
✔ e516ec1bacbc Pull complete 108.3s
⠴ fe3270fe819c Downloading [============================================... 680.6s
✔ 00f2dc53e938 Download complete 72.7s
✔ bb21b7f70763 Download complete 74.6s
✔ 4f4fb700ef54 Download complete 76.6s
✔ ed8d872b11e5 Download complete 78.5s
✔ 2c8bf57acaee Download complete 80.5s
✔ 65cfb8ae3da7 Download complete 102.9s
✔ 5676df52b91a Download complete 209.9s
✔ 3d3b6c17a5ee Download complete 108.0s
✔ cbbfc7402b09 Download complete 190.4s
✔ 9407fa5cc10d Download complete 235.5s
✔ df181780313b Download complete 234.7s
✔ 2a81d2ca80a5 Download complete 237.0s
后面的情况,就和在其他操作系统的使用方式一样了。