CVAT 使用(4) 安裝採坑
0. 前言
- 安裝過程比較痛苦。之前是一個同事安裝的,裝了一週都還有各種各樣的問題……
- 安裝失敗的主要原因有:
- 最主要的原因——網速不行
- 出現問題進行定位的時候,由於對Docker和Nodejs不瞭解,所以走了不少彎路。
- 自己的安裝歷程
- 在公司伺服器 Ubuntu 16.04 Server 上通過VPN代理下載各種包,成功搞定v1.1.0。
- 在家中電腦 Ubuntu 16.04 Desktop 上嘗試安裝失敗(現在安裝v1.2.0-alpha應該沒問題了,安裝v1.1.0估計還有問題,原因後面再說)。
- 在阿里雲上租用伺服器 Ubuntu 18.04 Server 成功安裝v1.1.0/v1.2.0-alpha/develop。
- 為了方便自己和他人,我把修改後的cvat原始碼傳到了gitee上
- 修改後的develop分支
- 修改後的v1.1.0分支
- 需要注意的是,分支中新增的源包括apt/pip/npm,不包括docker/docker pull
1. 採坑記錄
- 先說下猜到的坑,給各位後來這一些意見。
1.1. 網速相關
- 建議在正式安裝前先進行這些步驟。
- git clone cvat 的速度非常慢
- 使用gitee複製cvat原始碼,直接從gitee上拉。
- 我複製了一份自己的
git clone https://gitee.com/irving512/cvat.git
- 安裝docker速度非常慢
- 這部分內容其實是安裝文件裡有的,只是修改了一下獲取資料的源。
- 全部使用阿里源
sudo apt-get update
sudo apt-get --no-install-recommends install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) \\
stable"
sudo apt-get update
sudo apt-get --no-install-recommends install -y docker-ce docker-ce-cli containerd.io
- docker pull 速度非常慢。
- 解決方案:新增 docker 映象。
- 具體方式就是:修改/新增
/etc/docker/daemon.json
,新增以下內容
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
-
apt install 速度非常慢
-
在Dockerfile中新增阿里源。
-
根據Ubuntu版本不同,要新增的源也不同。
-
# v1.1.0 使用的Ubuntu 16.04,要新增的內容是
RUN echo deb http://mirrors.aliyun.com/ubuntu/ xenial main > /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ xenial main >> /etc/apt/sources.list
RUN echo >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main >> /etc/apt/sources.list
RUN echo >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ xenial universe >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe >> /etc/apt/sources.list
RUN echo >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ xenial-security main >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe >> /etc/apt/sources.list
# v1.2.0/develop 使用的Ubuntu是 20.04,要新增的內容是
RUN echo deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse > /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse >> /etc/apt/sources.list
RUN echo >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse >> /etc/apt/sources.list
RUN echo >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse >> /etc/apt/sources.list
RUN echo >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse >> /etc/apt/sources.list
RUN echo >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse >> /etc/apt/sources.list
-
pip install 速度非常慢
- 這個很好處理,就是在所有 pip install 後面臨時新增國內源。
- 要新增的內容是
-i https://mirrors.aliyun.com/pypi/simple/
- 需要修改的檔案有
Dockerfile/Dockerfile.ci
兩個檔案。
-
npm install 速度非常慢
- 新增 npm 的國內源即可。
- 在
Dockerfile.ui
中新增一句RUN npm config set registry https://registry.npm.taobao.org
- 新增在第二行。
-
git clone 速度非常慢
- pip源有一個是要從github上下載,所以需要修改。
- 需要修改的內容是在
cvat/requirements/base.txt
- 將
git+https://github.com/openvinotoolkit/datumaro@v0.1.3
修改為git+https://gitee.com/openvinotoolkit-prc/datumaro.git@v0.1.3
-
從github下載速度非常慢
- 這個指的是 node-sass 在安裝時候需要從github中下載資料。
- 解決方案:該問題本質是安裝 node-sass 的問題,所以先手動安裝 node-sass 並制定國內源即可。
- 就是在
Docerfile.ui
新增RUN npm config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g npm install --no-optional npm i node-sass --save
- 新增的位置是在 cvat-canvas 安裝之前,即在
WORKDIR /tmp/cvat-canvas/
之後。
-
有一個現在我解決不了的網速相關問題
- 在v1.1.0中,會新增別的apt源,即
add-apt-repository ppa:mc3man/xerus-media -y
- 我在自己家電腦上從這個源安裝時,無法從mc3man中獲取資料,所以這一步就卡住沒辦法了……
- 解決方案:
- 無
- 換成v1.2.0-alpha就不用這個倉庫了,這是我的最終方案……
- 在v1.1.0中,會新增別的apt源,即
1.2. 其他問題
- pycocotools 安裝失敗
- 這個問題在v1.1.0中沒有,在v1.2.0-alpha和develop上都有。
- 本質就是
- 通過 pip install pycocotools不會自動安裝其依賴
- 在依賴同時 pip install 時安裝不成功
- 解決方案:先pip install cython numpy,再pip install pycocotools
- 記憶體過小會導致安裝失敗
- 阿里雲最開始租用了一臺最差的伺服器,即只有1G的記憶體,結果在安裝pyhash的時候提示記憶體不夠了……
- 失敗了之後我就升級了伺服器配置,使用了2G記憶體,就沒問題了。
- 好像是安裝 v1.1.0 時候的問題,不知道v1.2.0-alpha是否存在這個問題。
- node-sass 版本導致的問題
- 表現形式:具體錯誤忘了,大概意思就是 sass x64-83_binding 這個檔案不存在,404了。
- 這個錯誤只有在v1.1.0存在,導致問題的原因是 node-sass的版本太低。
- 換句話說,如果使用 v1.1.0版本,必須升級 node-sass 的版本,從v4.13.1升到v4.14.1。
- 具體怎麼升級呢
- 修改 cvat-canvas和cvat-ui中的
package.json
檔案,升級版本為v4.14.1 - 修改 cvat-canvas和cvat-ui中的
package-lock.json
檔案,刪除node-sass相關內容即可。
- 修改 cvat-canvas和cvat-ui中的
2. 安裝基本流程
2.1. 準備工作
-
下載cvat原始碼
- 如果cvat下載速度慢,可以去gitee上下載。
-
設定之前提到的各種源
- 包括 docker/docker pull/apt/pip/npm 等問題
-
設定一切其他cvat選項
- 主要包括設定伺服器ip(為了讓其他終端連線到安裝的cvat,必須開放對應的埠)
- 預設埠使用的是8080,需要將伺服器的8080埠開放
- 設定shared path,即在新建task的時候指定share path中的資料作為資料來源。
- 即新建
docker-compose.override.yml
,內容如下
version: '3.3'
services:
cvat_proxy:
environment:
CVAT_HOST: my_ip or_my_url
cvat:
environment:
CVAT_SHARE_URL: 'Mounted from /mnt/share host directory'
volumes:
- cvat_share:/home/django/share:ro
volumes:
cvat_share:
driver_opts:
type: none
device: /root/data # 需要修改的就是這個元素
o: bind
2.2. 基本安裝流程
- 安裝docker,在上面提到過了,需要修改源
- 其他相關操作
sudo groupadd docker
sudo usermod -aG docker $USER
sudo apt-get --no-install-recommends install -y python3-pip
sudo python3 -m pip install setuptools docker-compose
sudo apt-get --no-install-recommends install -y git
git clone https://gitee.com/irving512/cvat.git
cd cvat
# 可能還需要切換分支,比如使用我自己的 develop-20201204-aliyun
# 在執行這一步前需要配置好所有源
# 安裝容器
docker-compose build
# 啟動容器
docker-compose up -d
# 建立超級使用者
docker exec -it cvat bash -ic 'python3 ~/manage.py createsuperuser'
# 之後的使用就不屬於安裝範圍了
相關文章
- webpack4升級採坑Web
- Windows nvm的安裝使用(及排坑)Windows
- vcf安裝的坑
- YII安裝踩坑
- mac下安裝JAVA開發工具(7)——mysql8.0.11連結採坑MacJavaMySql
- Docker 快速安裝Jenkins完美教程 (親測採坑後詳細步驟)DockerJenkins
- Docker - Windows10 的安裝及搭建 PHP 開發環境,採坑DockerWindowsPHP開發環境
- MacBookPro安裝Windows10單系統的4個小坑MacWindows
- Redis 安裝避坑指南Redis
- mac 安裝nvm 踩坑Mac
- mac無坑安裝nginxMacNginx
- log4cpp的安裝及使用
- Vim安裝使用以及一些避坑指南
- maya採坑
- 使用composer安裝擴充套件包的坑點之一套件
- NPM 安裝包遇到的坑!NPM
- PostgreSql安裝教程(填坑版!)SQL
- PHP Laravel passport 本地測試使用及採坑PHPLaravelPassport
- CDH安裝時出現的坑
- linux安裝zookeeper中各種坑Linux
- 安裝 Laravel/horizon 踩過的坑Laravel
- TensorFlow-GPU安裝避坑指南GPU
- Mac 安裝 Hadoop 教程【避坑指南】MacHadoop
- 安裝SLM-Lab踩坑記
- 小白之 Gin 安裝遇到的坑
- Docker安裝flink及避坑指南Docker
- Laravel Homestead踩坑記1——安裝Laravel
- 4-kafka安裝Kafka
- 4.安裝MySQLMySql
- cocoapods安裝/解除安裝/使用
- canvas畫圖採坑Canvas
- 原創視訊:Win10下使用Docker安裝RabbitMQ踩坑Win10DockerMQ
- electron跳坑指南 1(electron的安裝)
- puppetter安裝就踩坑-解決篇
- Ubuntu中安裝python3.6踩坑UbuntuPython
- 在安裝snipe-it中遇到的坑
- vue-cli @4安裝Vue
- 採坑系列2-nginxNginx