博文

目前显示的是 2019的博文

Python3.8安装kmods报错"Microsoft Visual C++ 14.0 is required"

    前不久尝鲜安装了最新的Python3.8版本,但没想到很快就碰到了兼容性的问题。     昨晚想用kmodes聚合数据,但pip install kmodes时报错"Microsoft Visual C++ 14.0 is required"。     当时第一反应就是去Microsoft网站( https://visualstudio.microsoft.com/zh-hans/downloads/ )去下载最新的VC runtime安装包,但装了x86和x64也没有毛用。     后来又去下载安装了最新的.net framework,以及windows upgrade升级了系统最新的补丁,仍然不行。     后来又去试着先pip install wheel,再去下了.whl安装,但仍然不行。     没奈何,只好去顺着安装报错日志慢慢捋。这样,发现了kmodes失败时是失败在了几个依赖的包上,一个一个手动装,最后发现题头的报错是发生在安装scikit-learn时。     再去pypi上去找scikit-learn,发现这是一个机器学习的包,pypi上的介绍( https://pypi.org/project/scikit-learn/ )说它要求python3.5以上,但实际上仔细去读它的文档,就会发现它实际 上只支持到Python3.7!     换成Python3.7,再试装kmodes,果然一次成功!

MySQL8.0 on RHEL7

用了很久的mysql5.7,终于也要升级到mysql8.0了。升级之后的安装配置步骤有些不同,记录一下 mysql5.7的安装步骤: https://cbzhan.blogspot.com/2018/01/linuxel7-mysql5720-jira738.html mysql8.0的官网安装文档: https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html 1. 首先还是下载yum源: 1) 访问 https://dev.mysql.com/downloads/repo/yum/ ,找到对应的OS和mysql版本的yum源包 2)  下载yum源包: # wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 3)  安装: # rpm -ivh mysql80-community-release-el7-3.noarch.rpm 4) 确认一下: # yum repolist all | grep mysql 2. 和5.7时一样,卸掉系统自带的mariadb的包 1) 先查询一下: # rpm -qa|grep mariadb mariadb-libs-5.5.64-1.el7.x86_64 2) 卸载: # yum remove mariadb-libs-5.5.64-1.el7.x86_64 3) 再确认一下已经没有了: # rpm -qa|grep mariadb 3. 安装mysql8.0: 1) yum安装: # yum -y install mysql-community-server 2) 确认一下: # rpm -qa | grep mysql mysql-community-common-8.0.17-1.el7.x86_64 mysql-community-server-8.0.17-1.el7.x86_64 mysql80-community-release-el7-3.noarch mysql-community-client-8.0.17-1.el7.x86_64 mysql...

远程连接Windows虚机登录失败:An authentication error has occurred

图片
This could be due to CredSSP encryption oracle remediation 这是由于Windows的安全补丁引起的。简单来说就是连接的双方有一方没有打全补丁。所以解决的方法就是用自动更新打补丁...

docker for windows的问题:error during connect

在win10上安装了docker for windows后,执行docker命令报错: PS C:\Users\u6079532> docker ps error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running. 解决方法: https://github.com/docker/for-win/issues/1825 PS C:\Users\u6079532> cd "C:\Program Files\Docker\Docker" PS C:\Program Files\Docker\Docker> ./DockerCli.exe -SwitchDaemon 再检查,成功 PS C:\Program Files\Docker\Docker> docker ps CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS      ...

mysql快速登录配置

mysql login-path mysql_config_editor set --login-path=name --host=hostname --user=user_name mysql_config_editor print --all

IDE的python模板

#!/usr/bin/env python # encoding: utf-8 """ @author: zcb @license: (c) Copytright 2017-2019, zcb @contact: cbzhan@outlook.com @software: ${PRODUCT_NAME} @file: ${NAME}.py @time: ${DATE} ${TIME} @desc: """ import logging import os import socket import mysql.connector FILE_NAME = os.path.basename(__file__) FILENAME = os.path.splitext(FILE_NAME)[0] LOG_NAME = FILENAME + '.log' log_dir = os.getcwd() + '/log' if not os.path.exists(log_dir):     os.makedirs(log_dir) logging.basicConfig(level=logging.DEBUG,                     format='[%(asctime)s] %(filename)s[line:%(lineno)d] %(levelname)s: %(message)s',                     datefmt='%Y-%b-%d %H:%M:%S %a',                 ...

docker创建固定network ip

步骤1:创建一个network,如:名称为:wafnetwork; subnet视机器网络情况而定 docker network ls docker network create   --subnet=170.18.0.0/16    wafnetwork   docker network ls 步骤2:docker启动的时候用,指定使用上述创建的net,如:wafnetwork docker run -itd   --name lblet-jfe-wafcore-bamboo   --net wafnetwork   --ip 170.18.18.4   hub.ark.jcloud.com/pid/centos7.2.base   /bin/bash docker ps | grep jfe docker run -itd   --name lblet-jfe-wafcore-bamboo1   --net wafnetwork   --ip 170.18.18.5   hub.ark.jcloud.com/pid/centos7.2.base   /bin/bash docker ps | grep jfe 步骤3:查看对应容器ip:(可随意start,stop容器,ip都不会变化。如果docker容器被rm掉了,则:返回执行步骤2即可) docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'   lblet-jfe-wafcore-bamboo1 docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'   lblet-jfe-wafcore-bamboo docker stop lblet-jfe-wafcore-bamboo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ...

docxgen给没有类定义的python项目生成文档时的配置

图片
    docxgen默认是按照class的定义去生成类的层级关系、继承关系、成员变量和函数的     但是有的时候,比如用flask开发python项目时,flask的写法就是没有类定义的。当然如果硬要搞的话,也可以把flask的app封装到一个类里,但这样的搞法与flask的思想背道而驰,既无必要,又增加了代码阅读和维护难度。     好在docxgen提供了一些特殊字符和自定义的配置。比如用"""!来标识docstring的开头。对于本文这个问题,找到配置文件中EXTRACT_ALL的选项,设为YES,再执行docxgen,即可按文件的维度生成文档

CentOS7升级默认的python2.7.5至新版本

    由于CentOS7默认将自带的Python2.7.5用于很多系统相关的应用,所以升级Python会导致很多诸如yum的应用不能用。所以升级的思路在于在系统里另外安装一个新的Python版本(非默认的/usr/bin),然后通过建立软链的方式,保留原来的python2.7.5并将其指向系统需要的应用;而将PATH中的python指向新的python版本 1. 去python.org下载最新的Python-2.7.16.tgz源码包,解开: tar zxvf Python-2.7.16.tgz cd  Python-2.7.16 2. 编译安装: 0) 为了避免之后安装setuptool时会报错zlib缺失的问题 RuntimeError: Compression requires the (missing) zlib module 这里先安装zlib,否则将来装setuptool遇到问题还得回来重新编译安装python yum install -y zlib yum install -y zlib-devel 还有openssl: yum install -y openssl yum install -y openssl-devel 还有libffi-devel:这是为了避免在make install时出现下述错误: ModuleNotFoundError: No module named '_ctypes' yum install -y libffi yum install -y libffi-devel 还有sqlite:这时为了避免pip install coverage时报错: ModuleNotFoundError: No module named '_sqlite3' yum install -y libsqlite3-dev yum install -y sqlite-devel 1) 编译配置: ./configure --prefix=/usr/local/python2.7.16 这里的prefix指定了编译安装的位置。由于系统自带的python2.7.5在/usr/bin下,所以要选择一个不同的路径。另外出于便于区分的目的,所以加上2.7.16的版本号...