文章目录
前言
环境:Centos7.6 64 2核4G 腾讯云 轻量服务器 [参考链接:cvat安装官方文档](https://opencv.github.io/cvat/docs/contributing/development-environment//)1.安装必须的依赖
#build-essential
sudo yum groupinstall "Development Tools"
#redis-server
#1.1 下载fedora的 epel 仓库
sudo yum install epel-release
#1.2 安装 redis
sudo yum install redis
#1.3 查看 redis 状态
sudo service redis status
#libldap2-dev 这一块好像没用
sudo yum install -y epel-release
sudo yum install -y python36-pip python36-ldap python36-psycopg2 python36-wheel python36-PyYAML
pip3 install --no-deps --upgrade ldap2pg ldap2pg-devel
ldap2pg --version
sudo yum install openldap
sudo yum install openldap-devel
sudo yum install openssl-devel
sudo yum install gcc
pip install python-ldap
#pkg-config
#切换到下载文件夹,把包下载到此处
cd Package
wget https://pkg-config.freedesktop.org/releases/pkg-config-0.29.tar.gz
tar -zxvf pkg-config-0.29.tar.gz
cd pkg-config-0.29
./configure --with-internal-glib
sudo make && sudo make check && sudo make install
sudo yum update && sudo yum install -y curl git redis python3-devel python3-pip python3-virtualenv python3-tkinter openldap openldap-devel python-ldap cyrus-sasl cyrus-sasl-devel ffmpeg ffmpeg-devel
sudo yum update && sudo yum install libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc* make -y
2. 安装 Node.js 16 和yarn
curl --silent --location https://rpm.nodesource.com/setup_16.x | sudo -E bash -
sudo yum install -y nodejs
sudo yum install gcc-c++ make
node --version
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install yarn
yarn --version
3.安装Chrome(已安装的跳过此步)
• #切换到下载文件夹,把包下载到此处
• cd Package
• sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
• sudo yum install epel-release -y
• sudo yum install dnf -y
• sudo dnf localinstall ./google-chrome-stable_current_x86_64.rpm
• #复制快捷方式到桌面
• cp /usr/share/applications/google-chrome.desktop /home/lighthouse/Desktop
4.安装4.0以上版FFmpeg libraries (libav*)
#卸载旧版
sudo yum remove ffmpeg
sudo yum autoremove
#安装指定版本
#安装yasm
sudo yum install yasm
yasm --vesion
#切换到下载文件夹,把包下载到此处
cd Package
wget http://www.ffmpeg.org/releases/ffmpeg-4.4.tar.gz
tar -xvf ffmpeg-4.4.tar.gz
cd ffmpeg-4.4/
sudo mkdir /usr/local/ffmpeg-4.4
sudo ./configure --enable-shared --prefix=/usr/local/ffmpeg-4.4 && sudo make && sudo make install
ln -s /usr/local/ffmpeg-4.4/bin/ffmpeg /usr/bin/ffmpeg
#修改/etc/ld.so.conf
echo "/usr/local/ffmpeg-4.4/lib" >> /etc/ld.so.conf
或者
vim /etc/ld.so.conf
#添加下面文字,保存退出
/usr/local/ffmpeg-4.4/lib
#生效
ldconfig -v
ffmpeg -version
#显示下面说明安装成功
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-44)
configuration: --prefix=/usr/local/ffmpeg-4.4
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
5.安装VS Code(自己根据系统搜索安装教程)
• #搜索插件名字并安装(安装到远程)
JavaScript Debugger
Python
ESLint
Stylelint
vscode-remark-lint
licenser
Trailing Spaces
6.确保使用的是 Python 3.9.0 及以上的版本
#卸载python3
rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps
whereis python3 |xargs rm -frv ## 删除所有残余文件
whereis python ##查看现有安装的python
#centos安装python3.9
#安装依赖
sudo yum install libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc* make -y
#切换到下载文件夹,把包下载到此处
cd Package
#安装openssl
wget https://www.openssl.org/source/openssl-1.1.1m.tar.gz
tar -zxvf openssl-1.1.1m.tar.gz
cd openssl-1.1.1m/
sudo mkdir /usr/local/openssl
./config --prefix=/usr/local/openssl
sudo make && sudo make check && sudo make install
#替换旧版本
sudo mv /usr/bin/openssl /usr/bin/openssl.old
sudo mv /usr/lib64/openssl /usr/lib64/openssl.old
sudo ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
sudo ln -s /usr/local/openssl/include/openssl /usr/include/openssl
#修改/etc/ld.so.conf
vim /etc/ld.so.conf
#添加下面文字,保存退出
/usr/local/openssl/lib
#或su权限下
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
openssl version
#安装python3.9
cd ../Package
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
tar -zxvf Python-3.9.0.tgz
cd Python-3.9.0/
sudo mkdir /usr/local/python3
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
sudo make && sudo make check && sudo make install
#配置软连接
sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3
sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
#检查是否安装成功
Python3
exit()
pip3 list
#pip更新到最新
/usr/local/python3/bin/python3.10 -m pip install --upgrade pip
7.安装Docker Engine and Docker-Compose
参考:在Centos上安装cvat release 2.2.0 版本
8.配置VSCode打开远程服务器
9.本地主机上安装 CVAT
git clone https://github.com/cvat-ai/cvat
cd cvat && mkdir logs keys
#安装虚拟环境模块,已安装跳过
#python3 -m pip install virtualenv -i https://mirrors.aliyun.com/pypi/simple/
python3 -m venv .env
. .env/bin/activate
pip3 install -U pip wheel setuptools
pip3 install -r cvat/requirements/development.txt
python manage.py collectstatic
python manage.py createsuperuser
deactivate
cd ~/cvat
yarn --frozen-lockfile
#开一个新终端
cd cvat
#打开vscode
source .env/bin/activate && code
#开一个新终端,拉取 OpenPolicyAgent Docker 映像
sudo docker-compose -f docker-compose.yml -f docker-compose.dev.yml up cvat_opa
#开一个新终端,启动 npm UI 调试服务器
yarn run start:cvat-ui
#或者
CVAT_UI_HOST='<YOUR_HOST_IP>' yarn run start:cvat-ui
#开一个新终端,开启redis服务
redis-server
#确保Options=>Uncaught Exceptions被选中
#选择server: debug并运行它 (F5) 以运行 REST 服务器及其工作者
vscode中点F5,选择server: debug
#选择chrome 配置并运行它(F5)以在 Chrome 中打开 CVAT
vscode选择:server: chrome 点F5
8.报错及解决方案
8.1make时编译报错:Could not import runpy module
#解决方案一:升级GCC 到8.3.1
#1、安装centos-release-scl
sudo yum install centos-release-scl
#2、安装devtoolset,注意,如果想安装7.*版本的,就改成devtoolset-7-gcc*,以此类推
sudo yum install devtoolset-8-gcc*
#3、激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本
scl enable devtoolset-8 bash
#4.大功告成,查看一下gcc版本
gcc -v
#5.重新运行代码configure和make代码
8.2 运行pip3 install -r cvat/requirements/development.txt
报错:SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
#解决方案:安装libffi-devel,卸载python3,重装python3.9
sudo yum install libffi-devel
卸载和重装参考"6.确保使用的是 Python 3.9.0 及以上的版本"
8.3 运行pip3 install -r cvat/requirements/development.txt
在安装tensorflow2.8.1(下载的很慢或者memory错误) 和av8.0.2 --no-binary=av 时(一些包not avalible)会报错,可以先把base.txt中的这两行注释掉,然后运行下面的命令单独安装
安装时可能报memory的错误,添加参数–no-cache-dir,不缓存安装
直接安装是从外网下载包,国内可能会慢而造成timeout错误, -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/ --trusted-host pypi.tuna.com
#添加国内映射
pip3 install tensorflow==2.8.1 --no-cache-dir -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/ --trusted-host pypi.tuna.com
#安装指定的8.0.2版本会报错,可以直接安装最新版(9.0.2)不影响后续使用
pip install av
#也可以一行一行的安装base.txt和development.txt(跳过注释)
cat cvat/requirements/base.txt | sed -e '/^\s*#.*$/d' -e '/^\s*$/d' | xargs -n 1 pip3 install
cat cvat/requirements/development.txt | sed -e '/^\s*#.*$/d' -e '/^\s*$/d' | sudo xargs -n 1 pip3 install
8.4 运行sudo python manage.py migrate
报错:
ImportError: Couldn’t import Django. Are you sure it’s installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
解决:
第一步:先重启django服务
# 启动python项目
cd ~/cvat/
python manage.py runserver 0.0.0.0:8080
再运行看是否成功,不成功的话进行第二步
第二步:安装django
https://stackoverflow.com/questions/46210934/importerror-couldnt-import-django
sudo pip3 install virtualenv
mkdir ~/newproject
cd ~/newproject
virtualenv newenv
sourcenewenv/bin/activate
pip3 install django
pip install django
django-admin --version
Deactivate
验证是否安装成功:
python3
import django
print(django.__version__)
exit()
8.5 运行sudo python manage.py migrate
#报错:SQLite 3.8.3 or later is required
解决:
pip3 install pysqlite3
pip3 install pysqlite3-binary
#在 base.py 中更改数据库
vim .env/libs/python3.9.0/site-packages/django/db/backends/sqlite3/base.py
# from sqlite3 import dbapi2 as Database # 注释这一行
from pysqlite3 import dbapi2 as Database # 添加这一行
重启django server 生效.
8.6 运行sudo python manage.py migrate
上面那一步做了之后还报错,则进行下面的步骤
报错:SQLite 3.9.0 or later is required (found 3.7.17).
解决:
#第一步:升级到SQLite 3.9.0
下载路径:https://github.com/sqlite/sqlite/releases/tag/version-3.9.0
tar -zxvf sqlite-version-3.9.0.tar.gz
cd sqlite-version-3.9.0
sudo ./configure --prefix=/usr/local && sudo make && sudo make install
whereis sqlite3
sqlite3: /usr/bin/sqlite3 /usr/local/bin/sqlite3 /usr/include/sqlite3.h /usr/share/man/man1/sqlite3.1.gz
显示
/usr/bin/sqlite3 –version
.exit
sudo mv /usr/bin/sqlite3 /usr/bin/sqlite3_old
sudo ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
export LD_LIBRARY_PATH="/usr/local/lib/ write it into ~/.bashrc
import sqlite3
sqlite3.sqlite_version
再进行8.5,完成之后,问题解决了
参考链接:
3.1 在Centos上安装cvat release 2.2.0 版本
VSCode使用Remote SSH连接远程服务器