尝试 python setup.py clean。然后遇到最新的错误,一个个解决,每次重新 install 前,都 clean 清一下环境。
2024年12月24日星期二
2020年10月19日星期一
@Transactional导致的问题
https://groups.google.com/g/mybatis-user/c/cat2sbCD3rI?pli=1
spring项目中使用了@Transactional,导致了insert语句执行完之后,无法select查询到结果。需要将insert和select分开成两个事务才能解决。
2020年7月9日星期四
操作系统的coredump
apt-get install systemd-coredump 安装coredump工具,这样应用程序有coredump的时候就会产生coredump文件了。
man coredump.conf,查看修改coredump相关配置,修改完后 systcl -p 生效配置。
coredump生成主要有两种方式。一种是external,文件生成在/var/lib/systemd/coredump下。另一种是journal,可以通过 man journald.conf 查看相关配置。
man coredump.conf,查看修改coredump相关配置,修改完后 systcl -p 生效配置。
coredump生成主要有两种方式。一种是external,文件生成在/var/lib/systemd/coredump下。另一种是journal,可以通过 man journald.conf 查看相关配置。
2020年4月28日星期二
python datetime计算时间差
from datetime import datetime
begin = datetime.strptime('00:01:00.000', '%H:%M:%S.%f')
begin = datetime.strptime('00:01:00.000', '%H:%M:%S.%f')
end = datetime.strptime('00:01:00.002', '%H:%M:%S.%f')
duration = begin - end
duration.total_seconds() // duration.seconds只计算秒的部分,duration.microseconds只计算毫秒的部分。计算时间差使用total_seconds
2020年2月19日星期三
Python PIP Install throws TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'
参考 https://stackoverflow.com/questions/37495375/python-pip-install-throws-typeerror-unsupported-operand-types-for-retry/46970344#46970344
apt-get remove python-pip python3-pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
python3 get-pip.py
如果运行get-pip.py很慢,修改文件中的args = ["install", "--upgrade", "--force-reinstall", "-i", "https://pypi.douban.com/simple"] + args,新增了pip源即可。
apt-get remove python-pip python3-pip
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
python3 get-pip.py
如果运行get-pip.py很慢,修改文件中的args = ["install", "--upgrade", "--force-reinstall", "-i", "https://pypi.douban.com/simple"] + args,新增了pip源即可。
2020年1月13日星期一
bazel 2.0.0新版本问题
更新了最新的bazel,报错:
name 'maven_server' is not defined
name 'maven_jar' is not defined
新版本不支持这些了,需要切换到旧版本的bazel,参考:https://github.com/google/mediapipe/issues/337
mac系统如何降级bazel,参考https://github.com/bazelbuild/homebrew-tap/issues/39
name 'maven_server' is not defined
name 'maven_jar' is not defined
新版本不支持这些了,需要切换到旧版本的bazel,参考:https://github.com/google/mediapipe/issues/337
mac系统如何降级bazel,参考https://github.com/bazelbuild/homebrew-tap/issues/39
2019年12月20日星期五
统计文件夹中所有wav的时长
ls | xargs -i sox {} -n stat 2>&1 | grep Length | awk '{print $3}' | awk '{sum+=$1} END {print sum}'
2019年12月17日星期二
2019年12月13日星期五
大量http连接TIME_WAIT
netstat -alntp | grep 38080,发现大量的TIME_WAIT,不确定是否正常。
参考了https://cloud.tencent.com/developer/article/1038071,修改/etc/sysctl.conf,增加三行:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
/sbin/sysctl -p 使配置生效。
不确定是否能解决问题,待观察。
参考了https://cloud.tencent.com/developer/article/1038071,修改/etc/sysctl.conf,增加三行:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
/sbin/sysctl -p 使配置生效。
不确定是否能解决问题,待观察。
2019年11月27日星期三
pip install openpyxl问题解决
使用python2安装openpyxl时一直遇到一个问题:
Collecting openpyxl
Using cached https://files.pythonhosted.org/packages/f4/5f/fb8706fba43b46716e252fdd3ffdfe801a63a0f4663b80b6f3421d85ab70/openpyxl-3.0.2.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-qUECOe/openpyxl/setup.py", line 28, in <module>
from importlib.util import module_from_spec, spec_from_file_location
ImportError: No module named util
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-qUECOe/openpyxl/
发现装3.x版本都不行,pip install pip install openpyxl==2.6.4,换成旧版本之后,解决问题。
Collecting openpyxl
Using cached https://files.pythonhosted.org/packages/f4/5f/fb8706fba43b46716e252fdd3ffdfe801a63a0f4663b80b6f3421d85ab70/openpyxl-3.0.2.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-qUECOe/openpyxl/setup.py", line 28, in <module>
from importlib.util import module_from_spec, spec_from_file_location
ImportError: No module named util
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-qUECOe/openpyxl/
发现装3.x版本都不行,pip install pip install openpyxl==2.6.4,换成旧版本之后,解决问题。
2019年11月20日星期三
修改brew update镜像源
替换brew.git:
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
替换homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
替换homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
SSL connection error: SSL_CTX_set_tmp_dh failed错误
使用conda list查看到openssl的版本是1.1.1d,将openssl降级,问题解决:
conda install openssl=1.0.2r
参考https://github.com/ContinuumIO/anaconda-issues/issues/10646
conda install openssl=1.0.2r
参考https://github.com/ContinuumIO/anaconda-issues/issues/10646
conda install遇到PackagesNotFoundError
conda install pydub,无法安装,PackagesNotFoundError: The following packages are not available from current channels
解决:conda install -c conda-forge pydub
解决:conda install -c conda-forge pydub
2019年11月8日星期五
gson序列化变成unicode编码的问题
gson序列化默认会把<和>变成unicode的编码,在new GsonBuilder()之后需要调用disableHtmlEscaping(),禁止转义html标签。参考https://stackoverflow.com/questions/4147012/can-you-avoid-gson-converting-and-into-unicode-escape-sequences
2019年11月7日星期四
记录一个logback奇怪的问题
我在logback中设置了两个appender,一个是console,另一个是file。root的loglevel是INFO,由于INFO级别的日志很多,所以我想将console中log的级别提升为WARN(docker中处理特别多的console log会极大拖慢机器速度),所以在console log的配置中增加了:
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
设置console的loglever变成了WARN,只有WANR及以上的日志才回输出到console。文件日志还是INFO及以上的日志。加完后有一个新的问题,日志中行号都变成了问号。
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
设置console的loglever变成了WARN,只有WANR及以上的日志才回输出到console。文件日志还是INFO及以上的日志。加完后有一个新的问题,日志中行号都变成了问号。
解决:在AsyncAppender的配置项里增加 <includeCallerData>true</includeCallerData> 即可。
2019年11月1日星期五
python2 flask返回结果编码问题
f.jsonify默认是unicode编码,不会出现什么问题,如果想返回改为utf-8编码的话,需要同时设置:
app.config['JSON_AS_ASCII'] = False
app.config['JSONIFY_MIMETYPE'] = 'application/json;charset=utf-8'
不仅需要设置了JSON_AS_ASCII,返回的头也要设置成utf-8。
app.config['JSON_AS_ASCII'] = False
app.config['JSONIFY_MIMETYPE'] = 'application/json;charset=utf-8'
不仅需要设置了JSON_AS_ASCII,返回的头也要设置成utf-8。
2019年7月3日星期三
将文件夹中所有文件软链接到另一个文件夹
从A文件夹链接到B文件夹:
cd A
ls | sed "s:^:`pwd`/:" | xargs -i ln -s {} B
后来发现其实有一个最简单的方法:cd B & ln -s A/* .
cd A
ls | sed "s:^:`pwd`/:" | xargs -i ln -s {} B
后来发现其实有一个最简单的方法:cd B & ln -s A/* .
2019年6月27日星期四
docker写日志导致压测过程中耗时严重问题
今天在用ab做服务的压测,发现用java直接启动,并发数为1、2、3差不多(30ms以内),并发数加到4、5之后性能才有一定下降(50~60ms)。用docker启动服务,并发请求数为1、2、3、4、5时,每次递增时延都有增加,从50ms一直升到了150ms。docker启动的服务性能远差于java直接启动的服务。
检查发现因为我的服务写日志比较多,docker会写/var/lib/docker/containers/container_id/xxx.json这个json格式的日志文件,加上原来java自己的日志文件,写了双份,同时docker会把日志转为json格式。这一过程特别消耗资源。
测试结果显示,关闭log后,并发数为5时,p95的性能直接降到了4ms,效果惊人。
补充:原来设置了两个日志,一个是同步的console日志,一个是异步的文件日志。docker会收集命令行的日志作为自己的日志存成json文件的log。试了下,关了console的日志,保留文件日志,就没有影响了。
检查发现因为我的服务写日志比较多,docker会写/var/lib/docker/containers/container_id/xxx.json这个json格式的日志文件,加上原来java自己的日志文件,写了双份,同时docker会把日志转为json格式。这一过程特别消耗资源。
测试结果显示,关闭log后,并发数为5时,p95的性能直接降到了4ms,效果惊人。
补充:原来设置了两个日志,一个是同步的console日志,一个是异步的文件日志。docker会收集命令行的日志作为自己的日志存成json文件的log。试了下,关了console的日志,保留文件日志,就没有影响了。
订阅:
博文 (Atom)