这个是使用python 开发股票系统。 使用 tushare 获取股票数据,然后使用tornado 进行web 展示。 使用pandas numpy 数据处理。

项目代码

    项目代码放到github上面 ​​GitHub - pythonstock/stock: stock,股票系统。使用python进行开发。​

   因为为了简单,我就使用官方提供的docker安装方式,里面提供的安装方式如下:

mkdir -p /data/mariadb/data
docker pull pythonstock/pythonstock:latest
docker pull mariadb:latest

docker run --name mariadb -v /data/mariadb/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=mariadb -p 3306:3306 -d mariadb:latest

docker run -itd --link=mariadb --name stock \
-p 8888:8888 \
-p 6006:6006 \
-p 9999:9999 \
-p 8500:8500 \
-p 9001:9001 \
pythonstock/pythonstock:latest

但实际遇到几个问题:

1、按上面安装下载后,出现启动mariadb出错的情况

2、即使采用老版本,mariadb能够正常启动了,但运行stock后也没有数据

3、因为我电脑用了3306端口,所以修改成如下

 docker run --name mariadb -v /data/mariadb/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=mariadb -p 13306:3306 -d mariadb:latest

 但还是没有stock数据,用docker logs mariadb看到数据库连接失败

同时运行  sh /data/stock/jobs/cron.daily/run_daily

出现下面错误:

Python Stock安装与使用_docker

Python Stock安装与使用_docker_02

从上面看也是跟数据库相关,所以官方提供的安装方式是错误的,不知道作者为什么不修正。

先根据一下项目里的issue相关资料修正如下:

1、安装mariadb版本修改,如下:

mkdir -p /root/mydata/mariadb/data
docker pull pythonstock/pythonstock:latest
docker pull mariadb:10.6.3

2、 启动mariadb如下,我这里用13306端口,可以根据自己需要修改

docker run --name mysqldb -v /root/mydata/mariadb/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysqldb -p 13306:3306 -d mariadb:10.6.3

注意上面的数据库名称修改成mysqldb,密码也是mysqldb,启动后还需要进入mariadb数据库进行root密码修改,修改方法如下:

mysql(mariadb)如何更改root密码,主要使用mysqladmin命令,请看图:

Python Stock安装与使用_数据库_03

对上图解释一下:
-u root,是指定用户,指定修改root用户的密码。
-p password 是密码选项,其后面的newpasswd即为新的密码。
执行结果如下:

Python Stock安装与使用_mysql_04

mysql(mariadb)如何更改root密码后,现在输入正常的密码登录:

Python Stock安装与使用_python_05

 当然用Navicat工具也可以验证root密码是否已经修改

 3、启动stock 如下:

docker run -itd --link=mysqldb --name stock  \
    -p 8888:8888 \
    -p 6006:6006 \
    -p 9999:9999 \
    -p 8500:8500 \
    -p 9001:9001 \
    pythonstock/pythonstock:latest

这样应该第一次因为创新有初始化数据,要是验证可以运行每天都需要运行的脚本

sh /data/stock/jobs/cron.daily/run_daily

效果如下:

Python Stock安装与使用_python_06