记录在Windows下安装node-canvas遇到的各种问题(无法安装canvas,安装canvas包报错error...)

Posted 光辉的顶点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录在Windows下安装node-canvas遇到的各种问题(无法安装canvas,安装canvas包报错error...)相关的知识,希望对你有一定的参考价值。

好久没更新博客了,因为工作越来越忙,没什么时间去记录一些问题,最近闲下来一点,由于某些原因不得不暂时在Windows下做开发,项目用到了node-canvas处理图片什么的,在安装的时候各种报错,确实让人很抓狂,这里简单记录下:

首先说明下,node-canvas

  官方git仓库 https://github.com/Automattic/node-canvas

在没有安装前置依赖之前,直接npm install canvas是一定装不上的,其实网上有很多关于win安装canvas的文章,报错的时候搜了很多,不过最官方的方法在这:

  Installation: Windows · Automattic/node-canvas Wiki (github.com)

官方给出了两种安装依赖的方法,一种是一个一个纯手动安装(不建议,比较麻烦),一种是下载Chocolatey然后一键安装,我的建议是使用Chocolatey 更方便一些

 

下面给出使用Chocolatey方法安装node-canvas的步骤

 

    一、安装Chocolatey

    1)打开终端管理员powershell,运行

Get-ExecutionPolicy

    如果显示 Restricted ,那么要执行

Set-ExecutionPolicy AllSigned

    2)复制如下命令到shell,回车执行

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol  3072; iex ((New-Object System.Net.WebClient).DownloadString(\'https://community.chocolatey.org/install.ps1\'))

      等待一会儿,如果没有报错error的信息,执行下 choco,出现版本信息,那么就应该安装成功了

 

 

 

    二、安装canvas前置依赖

    在shell中执行

choco install -y python2 gtk-runtime microsoft-build-tools libjpeg-turbo

    这个过程看网络情况,我这边是会等几分钟

     一般情况应该只有一个包 libjpeg-turbo 显示安装错误,其他都是安装成功的,不过没关系,打开C盘看下如果 C:\\libjpeg-turbo64 文件夹下是这样的,那么就代表成功了(博主在win10、win11装过都是这样滴)

    

   三、下载GTK-2

    首先下载安装包,下载完成后,解压到 C:\\GTK

      -win64

         -win32

    

 

     四安装canvas

    1)在项目根目录下创建 .npmrc 文件(如果已存在就把代码加在下面即可),内容如下

canvas_binary_host_mirror=https://registry.npmmirror.com/-/binary/canvas

     这一步非常的重要,就是给npm安装canvas时换个镜像,博主就是在这步卡了很久,最后发现是默认GitHub的源太慢了,导致总是安装失败,法克鱿!

 

      2)ok到这一步终于可以安装canvas了!

npm install canvas

        没什么问题的话就可以很快安装成功了,good

 

 

    ps:在换源之前我这边是这么报错的,有时候还不一样

> npm install canvas

> canvas@2.11.2 install C:\\Users\\LijiaHou\\Desktop\\ReactAndVue\\koaDemo\\node_modules\\canvas
> node-pre-gyp install --fallback-to-build --update-binary

node-pre-gyp ERR! install request to https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v83-win32-unknown-x64.tar.gz failed, reason: connect ETIMEDOUT
20.205.243.166:443
node-pre-gyp WARN Pre-built binaries not installable for canvas@2.11.2 and node@14.19.1 (node-v83 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp WARN Hit error request to https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v83-win32-unknown-x64.tar.gz failed, reason: connect ETIMEDOUT 20.205.243.166:443
gyp ERR! find VS
gyp ERR! find VS msvs_version was set from command line or npm config

 

    应该没有遗漏什么步骤吧,最后希望能帮到朋友们√

 

基于conda安装Federatedscope环境遇坑解决记录

解决的问题

  1. 安装pytorch自动推送cpu版本,无法安装gpu版本
  2. python setup.py install 命令运行过程中,出现不满足grpcio>=1.45.0的问题

背景

新建conda虚拟环境,按照federatedscope安装教程https://federatedscope.io/docs/quick-start/#installation中的命令,利用conda配置其所需的环境时,遇到了pytorch只能装cpu版本的问题:
即在使用conda install --file enviroment/requirements-torch1.10-application.txt -c pytorch -c conda-forge -c nvidia -c pyg 这条命令安装后,发现安装的pytorch是cpu版,无法利用cuda
本人曾经遇到过这个问题,当时采用的方法是弃用conda,而使用pip命令安装pytorch。但是这次使用这个方法后,发现federatedscope框架程序,无法正常运行(猜测有可能是pip安装的库和conda安装的库起了冲突?
于是花了很多时间尝试如何解决这个问题

本机环境

  • 系统:win10
  • 显卡:RTX3090
  • CUDA版本:11.3

解决流程

针对问题1

步骤1:修改requirements-torch1.10-application.txt文件(此步或许可以省略)

根据pytorch官网以及本机环境,本机正确安装pytorch的conda命令应该为:

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

于是,我对federatedscope项目中requirements-torch1.10-application.txt文件做了如下修改:

pytorch==1.10.1  》修改为》pytorch==1.11.0 
torchvision==0.11.2  》修改为》torchvision
torchaudio==0.10.1  》修改为》torchaudio
步骤2:

执行官方教程的命令:

conda install --file enviroment/requirements-torch1.10-application.txt -c pytorch -c conda-forge -c nvidia -c pyg
步骤3:

参考博客:https://blog.csdn.net/weixin_42312688/article/details/122659449的方法

1.首先卸载cpuonly,以及 pytorch相关的三个模块

conda uninstall pytorch torchvision torchaudio
conda uninstall cpuonly

2.接着运行pytorch官网上的命令

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

3.重装pyg
执行pyg安装命令(https://pytorch-geometric.readthedocs.io/en/latest/notes/installation.html):

conda install pyg -c pyg

至此pyotch可以成功运行,也可以成功导入pyg的相关包

针对问题2

只要在运行python setup.py install之前,打开“连接外网”的工具,确保能打开https://pypi.org/simple/grpcio/即可解决

感想

我恨配环境,好焦虑啊

以上是关于记录在Windows下安装node-canvas遇到的各种问题(无法安装canvas,安装canvas包报错error...)的主要内容,如果未能解决你的问题,请参考以下文章

node-canvas

windows安装oracle遇INS 30131 错误

基于conda安装Federatedscope环境遇坑解决记录

基于conda安装Federatedscope环境遇坑解决记录

Ubuntu16.04使用所遇问题记录

使用 node-canvas 和 jsdom 重复调用资源