3.8 KiB
myems-normalization
MyEMS Normalization Service
数据规范化服务
Introduction
This service is a component of MyEMS. It normalizes energy data in historical database.
Prerequisites
mysql-connector-python
openpyxl
sympy
python-decouple
Quick Run for Development
cd myems/myems-normalization
pip install -r requirements.txt
cp example.env .env
chmod +x run.sh
./run.sh
Installation
Option 1: Install myems-normalization on Docker
In this section, you will install myems-normalization on Docker.
- Copy example.env file to .env file and modify the .env file
cd myems/myems-normalization
cp example.env .env
- Build a Docker image
docker build -t myems/myems-normalization .
- Run a Docker container
docker run -d --restart always --name myems-normalization myems/myems-normalization
-d Run container in background and print container ID
--restart Restart policy to apply when a container exits
--name Assign a name to the container
If you want to immigrate the image to another computer,
- Export image to tarball file
docker save --output myems-normalization.tar myems/myems-normalization
- Copy the tarball file to another computer, and then load image from tarball file
docker load --input .\myems-normalization.tar
Option 2: Install myems-normalization on Ubuntu Server (bare-metal or virtual machine)
In this section, you will install myems-normalization on Ubuntu Server.
Download and install MySQL Connector:
cd ~/tools
wget https://cdn.mysql.com/archives/mysql-connector-python-8.0/mysql-connector-python-8.0.23.tar.gz
tar xzf mysql-connector-python-8.0.23.tar.gz
cd ~/tools/mysql-connector-python-8.0.23
python3 setup.py install
Download and install mpmath
cd ~/tools
git clone https://github.com/fredrik-johansson/mpmath.git
cd ~/tools/mpmath
python3 setup.py install
Download and install SymPy
cd ~/tools
git clone https://github.com/sympy/sympy.git
cd ~/tools/sympy
python3 setupegg.py develop
Download and install openpyxl
cd ~/tools
Get the latest version of et_xmlfile from https://foss.heptapod.net/openpyxl/et_xmlfile/
wget https://foss.heptapod.net/openpyxl/et_xmlfile/-/archive/1.1/et_xmlfile-1.1.tar.gz
tar xzf et_xmlfile-1.1.tar.gz
Get jdcal
git clone https://github.com/phn/jdcal.git
Get the latest version of openpyxl from https://foss.heptapod.net/openpyxl/openpyxl
wget https://foss.heptapod.net/openpyxl/openpyxl/-/archive/3.0.7/openpyxl-3.0.7.tar.gz
tar xzf openpyxl-3.0.7.tar.gz
cd ~/tools/et_xmlfile-1.1
python3 setup.py install
cd ~/tools/jdcal
python3 setup.py install
cd ~/tools/openpyxl-3.0.7
python3 setup.py install
Download and install Python Decouple
cd ~/tools
git clone https://github.com/henriquebastos/python-decouple.git
cd ~/tools/python-decouple
python3 setup.py install
Install myems-normalization service:
cd ~
git clone https://github.com/MyEMS/myems.git
cd myems
git checkout master (or the latest release tag)
cp -r ~/myems/myems-normalization /myems-normalization
Copy example.env file to .env file and modify the .env file:
cp /myems-normalization/example.env /myems-normalization/.env
nano /myems-normalization/.env
Setup systemd service:
cp myems-normalization.service /lib/systemd/system/
Enable the service:
systemctl enable myems-normalization.service
Start the service:
systemctl start myems-normalization.service
Monitor the service:
systemctl status myems-normalization.service
View the log:
cat /myems-normalization.log