安装pysyft遇到UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x9a in position 3594: illegal multibyte

记录一下安装pysyft踩过的坑~~
根据官网使用命令即可

pip install syft

但是出现TimeOut的报错,因此换成清华大学镜像:

pip install syft -i https://pypi.tuna.tsinghua.edu.cn/simple/

出现了如下报错:

仔细阅读发现是由于这句话:

File "C:\Users\Lucky\AppData\Local\Temp\pip-install-nfbmiit1\autodp_154cac55d2ad4cebbac6f4d791785506\setup.py", line 6, in <module>
long_description = f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0x9a in position 3594: illegal multibyte sequence

查资料是找到这个setup.py的文件夹,然后在open的参数中加入mode='r’和encoding='UTF-8’参数
但是Temp文件夹下并没有pip-install-nfbmiit1这个文件夹…
于是仔细看报错发现这个报错是在执行下面这个的时候报错:

Collecting autodp==0.2
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/78/7c/63aa6d37b9d9f0f68d1231e1b3247c3ac83c634f451f8bcbd9a5c7a55db0/autodp-0.2.tar.gz (39 kB)
Preparing metadata (setup.py) ... error

这就比较清楚了,去下面这个链接下载autodp这个压缩包
https://pypi.org/
下载完之后打开autodp-0.2.tar.gz,编辑setup.py文件

压缩包里不能编辑setup这个文件,解压之后修改代码,将第6行修改为:

with open("README.md", 'r', encoding='UTF-8') as f:

然后又遇到问题了…
windows10怎么压缩成tar.gz的压缩包…
找了很多资料需要下载软件,不想下载软件于是找到了一个可以在命令行里执行的:

https://www.addictivetips.com/windows-tips/use-tar-on-windows-10/

https://zhuanlan.zhihu.com/p/456914453


打开Windows PowerShell,然后输入命令:

tar -cvzf autodp-0.2.tar.gz "D:\autodp-0.2"

autodp-0.2.tar.gz是要压缩成的文件的名字,会存放在当前目录下(这里是D盘)有一点需要注意的是要压缩的autodp-0.2这个文件最好放在C、D、或E盘下,不要放在其他子目录下,不然压缩之后他在autodp-0.2这个文件夹外面加上那些目录。

我的python放在D盘,所以接下来进入D盘输入命令:

pip install autodp-0.2.tar.gz

然后出现了

接下来再install autodp终于成功了。。。
然后使用命令继续安装syft出现:

ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问。: 'd:\\python\\python3.7\\lib\\site-packages\\~umpy\\.libs\\libopenblas.TXA6YQSD3GCQQC22GEQ54J2UDCXDXHWN.gfortran-win_amd64.dll'
Consider using the `--user` option or check the permissions.

把命令改成:

pip install --user syft -i https://pypi.tuna.tsinghua.edu.cn/simple/

终于安装成功了。。。

参考:https://blog.csdn.net/a_littleBAI/article/details/123058304

posted @ 2022-10-05 16:56  夕月一弯  阅读(757)  评论(0编辑  收藏  举报