美文网首页
pip-sync出现的问题以及torch安装

pip-sync出现的问题以及torch安装

作者: KyoDante | 来源:发表于2021-03-10 15:28 被阅读0次

windows下使用pip-sync出现了类似如下的error(使用开源库的时候,尽可能还是避开windows...不然会有很多奇怪的坑):

pip-sync requirements/prod.txt requirements/dev.txt
Found existing installation: wincertstore 0.2
ERROR: Cannot uninstall 'wincertstore'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
Traceback (most recent call last):
  File "d:\anaconda3\envs\fsdl-text-recognizer-2021\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\anaconda3\envs\fsdl-text-recognizer-2021\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Anaconda3\envs\fsdl-text-recognizer-2021\Scripts\pip-sync.exe\__main__.py", line 7, in <module>
  File "d:\anaconda3\envs\fsdl-text-recognizer-2021\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "d:\anaconda3\envs\fsdl-text-recognizer-2021\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "d:\anaconda3\envs\fsdl-text-recognizer-2021\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "d:\anaconda3\envs\fsdl-text-recognizer-2021\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "d:\anaconda3\envs\fsdl-text-recognizer-2021\lib\site-packages\piptools\scripts\sync.py", line 150, in cli
    ask=ask,
  File "d:\anaconda3\envs\fsdl-text-recognizer-2021\lib\site-packages\piptools\sync.py", line 190, in sync
    + sorted(to_uninstall)
  File "d:\anaconda3\envs\fsdl-text-recognizer-2021\lib\subprocess.py", line 311, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['d:\\anaconda3\\envs\\fsdl-text-recognizer-2021\\python.exe', '-m', 'pip', 'uninstall', '-y', 'wincertstore']' returned non-zero exit status 1.

主要原因是这句:‘Cannot uninstall 'wincertstore'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.’ 但是,就算我手动删除该库,也没办法正常pip-sync。
暂时的解决方案使用带--user参数项:即pip-sync --user(但是发现覆盖了pip list,和conda虚拟环境下的conda list不一致,#need to fix),或者使用Linux系统吧...


后续:(不推荐使用上面暂时的解决方案,因为在windows系统下面,会安装一个Python目录到%appdata%目录下。不仅如此,在激活了虚拟环境下,使用命令where python和where pip,会出现(base)环境下面的python和pip,产生了python环境的混淆。所以本人无奈重装了anaconda,重装前记得保留想要保留的环境文件夹(envs/)。)

建议先把pip降级到9.0.0,然后安装对应版本的pip-tools,然后执行一次pip-sync,此时可能会成功,或者提示其他的error。如果提示其他的error或者前面直接成功的话,则升级pip,然后把pip-tools也升级之后,再执行一次pip-sync。

  • 降级pip和安装pip-tools的方法:
python -m pip install pip==9.0.0
pip install pip-tools==4.5.1 # 针对pip版本为9.0.0

降级之后,pip-sync出现的结果是:DEPRECATION: Uninstalling a distutils installed project (wincertstore) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project. Uninstalling wincertstore-0.2: Successfully uninstalled wincertstore-0.2 可以成功卸载掉上面没办法卸载的库了,后续也就不会卡在上边提到的error了。

  • 升级pip和安装pip-tools的方法:
python -m pip install --upgrade pip
pip install pip-tools==5.5.0 # 针对pip版本为21.0.1

如果不幸把pip弄坏了,用下面的方式修复和升级pip:

python -m ensurepip
python -m pip install --upgrade pip

pytorch安装示意:

步骤1:先用conda弄个虚拟环境出来:(可以直接创建一个新的环境:conda create -n env_name python=x.x 其中,env_name,x.x分别为环境名和python版本号。)
示例的environment.yml文件如下:name后面改为自己的环境名。

name: FSDL
channels:
  - defaults
dependencies:
  - python=3.6  # Google Colab is still on Python 3.6
  - cudatoolkit=10.1
  - cudnn=7.6
  - pip
  - pip:
    - pip-tools

可以使用以下两个命令中的一个,根据配置文件创建虚拟环境:

conda env create -f environment.yml
或者
conda env update --prune -f environment.yml

步骤2:激活环境,安装pytorch。
pytorch的安装命令如下(直接参考官网的命令即可,注意要换成自己需要的torch版本和cu版本。而且torchvision、torchaudio对torch是有版本号要求的):

pip install torch==1.8.0+cu101 torchvision==0.9.0+cu101 torchaudio===0.8.0 -f https://download.pytorch.org/whl/torch_stable.html # cu后面的版本号,与自己上面环境中设定的cudatoolkit的版本号有关。

只要弹出Successfully installed torch-1.8.0+cu101 torchaudio-0.8.0 torchvision-0.9.0+cu101就可以愉快地进行玩耍啦。

相关文章

网友评论

      本文标题:pip-sync出现的问题以及torch安装

      本文链接:https://www.haomeiwen.com/subject/bxmwqltx.html