工程中可能会遇到需要python依赖的so库的情况,那现在就来说一下方法吧:
0.环境说明:
①python3.7.2
②centos 7.4
1.安装依赖包:
cd ***/Python-3.7.2 #***是你存放python的目录的位置 ./configure --prefix=/usr/local/python3.7 --enable-shared make make install altinstall #使用旧版本安装(如果有)
6月 04
工程中可能会遇到需要python依赖的so库的情况,那现在就来说一下方法吧:
0.环境说明:
①python3.7.2
②centos 7.4
1.安装依赖包:
cd ***/Python-3.7.2 #***是你存放python的目录的位置 ./configure --prefix=/usr/local/python3.7 --enable-shared make make install altinstall #使用旧版本安装(如果有)
6月 03
错误名称:
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
实际上是python编译SSL的时候出错,下面来看下解决方法
0.环境说明:
①python3.7.2
②centos 7.4
1.安装依赖包:
1
|
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
|
2.打开ssl代码块儿 Python-3.7.2/Modules/Setup.dist 并让下面的配置可用
cd ***/Python-3.7.2 #***是你存放python的目录的位置 vi Modules/Setup.dist
3.接下来重新编译Python就不会报SSL错误了:
make clean ./configure --with-openssl=/usr/local/openssl --enable-optimizations make make install
6月 02
5月 28
一般情况下linux下mysql安装完成后会自动生成一个密码,我们可以使用cat命令在/var/log/msqld.log下查看,但是,有一次却发现这个密码神奇的不可用,所以我们得想个办法来跳过验证了:
0.环境说明:
①mysql 5.7.25
②centos 7.4
③拥有root权限,忘记mysql root密码或者无法登陆的情况
1.跳过mysql密码验证:
whereis my
找到my目录后编辑my.cnf 在[mysqld]后面任意一行添加“skip-grant-tables”
vi /etc/my.cnf skip-grant-tables
2.重启mysql
service mysqld restart mysql
现在mysql可以直接登录了
3.修改mysql密码:
UPDATE mysql.user SET authentication_string = PASSWORD('Root123A'), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost'; flush privileges; quit;
这样就将mysql root用户的默认密码修改成了Root123A
如果是5.7以前的用户可以尝试使用:
update msyql.user set password=password("Root123A") where user="root"; flush privileges; quit;
4.然后编辑my.cnf 在[mysqld]去掉刚刚添加的“skip-grant-tables”,重启mysql
sevice mysqld restart
5月 28
在使用VM安装LINUX虚拟机后,为了方便使用,常需要使用一些SSH工具登录,这里用固定IP就会方便很多:
0.环境说明:
①本机配置win10X64 8GBRAM
②VM 14.0.0
③虚机系统 CENTOS 7.4 X64
1.在编辑→虚拟网络编辑器中选中 Vmnat8 ,点击底部的更改设置(需要管理员权限),填写子网IP,点击DHCP配置,配置起始和结束IP地址:
2.在网络中心,选择更改适配器设置,找到vmnat8对应的适配器:
右键点击属性,双击internat协议4,按照VM的配置更改,并配置网关、和DNS服务:
3.下面在虚拟机内的操作:
①修改配置文件ifcfg
cd /etc/sysconfig/network-scripts/ ls vi ifcfg-ens33
②按照如下配置ifcfg文件:
BOOTPROTO=static #开机协议,有dhcp及static; ONBOOT=yes #设置为开机启动; DNS1 = 8.8.8.8 DNS2=114.114.114.114 IPADDR=192.168.5.20 #你想要设置的固定IP,在第一部的起始地址和结束地址间选一个; NETMASK=255.255.255.0 #子网掩码,保持一 GATEWAY=192.168.5.16 #网关,与2配置的网关保持一致
③重启网络服务,并查看当前IP,你发现已经改成了所需的静态IP地址:
service network restart ifconfig
这时我们就可以使用Xshell、SecureCRT等SSH工具轻松的访问虚拟机了
5月 27
在工作中难免会遇到需要使用一个数组的时候,但是mysql却没有数组这种类型,所以我们需要想个办法来处理它。下面是一个简单的演示:
CREATE procedure proc_update_use_arr(myID BIGINT(10)) BEGIN DECLARE arr VARCHAR(100); DECLARE arr_flag INT; DECLARE index_a INT; DECLARE num INT; SET arr = '1,2,3,4,5'; SET arr_flag = 1; SET index_a = 1 ; WHILE arr_flag <= 5 DO SET num = substring_index(substring_index(arr,',',index_a),',',-1); SET index_a = index_a + 1 ; SET arr_flag = arr_flag + 1; INSERT INTO b(id,num) VALUES(arr_flag,num); END WHILE; COMMIT; END$$
上面的功能就是把一个数组arr中的五个数字分五条记录插入,其中我们使用一个长varchar类型 arr来保存数组,再使用分隔字符串的方法substring_index来分解字符串为数字。
5月 26
5月 24
工程中遇到了C++读python字符的场景,但是因为python没有字符的概念,只有常量字符串,几乎试过了所有的方法,单个字符,或者是ascii码都不行。最后终于找到一种可行的方案,那就是使用python中的byte。
关于两者的异同,想要追根究底的同学可以看下这篇文章:https://www.cnblogs.com/chownjy/p/6625299.html
如果比较急,不想浪费时间,那么直接开看使用方法吧:
char = bytes('s',encoding='utf-8')
这样我们就实现了byte型的字符’s’,便可以将其当做C++等语言的char型进行字符的传递了。
5月 22
知道一个字段,却不知道它所在的表和数据库可用这个方法:
select table_schema,table_name from information_schema.columns where column_name = '字段名'
3月 27
癫瑕代替了我那不流在南山路上,也不留在雷锋塔下的泪。希望我永远都是你心内的阳光!
近期评论