背景:陈年python3.6,不想更新python版本。需要用torch。
1. 我在Start Locally | PyTorch 上下载了pytorch最新版本,但是下载太慢了,我放弃了pip3 install torch ...
2. 下载了别的版本的torch,然后提示pip版本低。于是我upgrade了pip
3. 安装了pip-21.3.1.
4.然后pip命令用不了了。。。报错:
...
File "/opt/conda/lib/python3.6/site-packages/typing_extensions.py", line 159, in
class _FinalForm(typing._SpecialForm, _root=True):
AttributeError: module 'typing' has no attribute '_SpecialForm'
原因是什么?
有网友说代码有误,我觉得就是版本不匹配的问题。
那么如何解决呢?
方案一:
按照 目录找到typing_extensions.py 的159行, typing既然没有这个属性,把这个属性删掉。
使用pip后出现新的错误:需要两个参数,但是只传了一个。
方案二:
在网上重新下载typing_extensions.py替换源文件。
我试了也不行。
方案三:
AttributeError: module 'typing' has no attribute '_SpecialForm' - Amazon SageMaker - Hugging Face Forums
给出了解决方案:
transformers_version = '4.17', # the transformers version used in the training job
pytorch_version = '1.10', # the pytorch_version version used in the training job
py_version = 'py38', # the python version used in the training job
em...我就是不想升py38,解决不了我的问题。
5. 于是我想降版本。。
网上找到了强制降低版本的命令。。
Python:升级、降级、强制重新安装pip版本_玩转测试开发的博客-CSDN博客_pip 强制安装
python -m -pip install --upgrade pip #升级pip,但可能会报错: 'NoneType' object has no attribute 'bytes'。
#强制执行
python -m pip install -U --force-reinstall pip
6. 对我来说根本不管用,但凡用pip就报 typing_extensions.py里的错。。
于是我下载了pip-19.3.1, 安装后能正常使用pip了。。 Links for pip
7. 本来想妥协用anaconda +jupyter + pytorch。但是我半天没下载下来。。。
Pytorch环境搭建_D之光的博客-CSDN博客_pytorch环境搭建8
8. 我就好奇,为什么不python不直接给出 各个对应的版本是什么。。。原来有这个东西。
pytorch,torchvision,python 三者的对应关系来源于 pytorch 官方 github,链接:GitHub - pytorch/vision: Datasets, Transforms and Models specific to Computer Vision
9. 我下载了torch-1.6.0+cpu-cp36-cp36m-win_amd64.whl, torchvision-0.7.0+cpu-cp36-cp36m-win_amd64.whl, from https://download.pytorch.org/whl/torch_stable.html
测试是否安装成功:
python import torch
如果没报错,就安装好了。
10.如有还有坑我再续上。。。
希望不要再更新这个篇。。。