centos下安装pillow报ImportError: The _imagingft C module is not installed的解决方案

django运行opsmanage项目报错:

解决: centos系统,使用pip安装pillow,运行时出现ImportError错误“The _imagingft C module is not installed” 具体出错的那行代码是font = ImageFont.truetype(‘Arial.ttf’, 36) 解决过程如下: 先确保代码中导入语句是:

尝试先卸载pillow:

安装系统devel包:

再重新安装pillow:

安装完毕。但运行时仍然报错,试了几次仍然不行。 最后在安装pillow时,加上 –no-cache-dir参数:

再试,成功。 另外, 安装daphne失败:

可以用以下安装:

 

解决在Mac下iTerm2终端使用sz和rz命令报错问题

我们经常使用 sz/rz 命令进行文件的上传下载,非常方便。但是在 Mac 下面就不能直接使用了需要进行配置才能使用 昨天在给客户调试相关代码时,需要覆盖一些代码,使用 rz 进行上传时却报错了: rz waiting to receive.**B0100000023be50 使用 sz 下载也是报错:**B00000000000000 并且都会卡死终端一段时间 解决方案 解决的方案有点复杂,一点一点来看 安装 lrzsz 首先需要我们安装一下 lrzsz,使用命令进行安装:

配置 iTerm2 安装完成后我们需要在 iTerm2 中使用的话,还需要一些配置 进入到 /usr/local/bin 目录下,下载两个脚本文件

  下载好之后我们进行 iTerm2 的配置 点击 iTerm2 的设置界面 Perference -> Profiles -> Default -> Advanced -> Triggers 的 Edit Read more…

CentOS 安装Parallels Tools

CentOS 安装Parallels Tools 为了做到Mac和Linux之间共享文件夹,因此需要安装Parallels Tool, 具体安装步骤可以参考 install parallels tool for linux guest http://download.parallels.com/desktop/v4/docs/en/Parallels_Desktop_Users_Guide/22570.htm 具体步骤如下: 在Virtual Machine上点击Install Parallels Tools image 在Linux上我们会看不到/media/cdrom的内容,因此,需要手动地mkdir -p /media/cdrom, 然后再mount上去,mount的命令是mount -o exec /dev/cdrom /media/cdrom。 我们在/media/cdrom下看到install安装脚本了,运行su /media/cdrom/install就可以了,安装完按照提示重启centos后,就可以在/media/psf下看到对应的共享文件了,自己可以设置是可读还是可读写来着,默认是可写的。 参考: http://blog.hadoopspark.com/2013/12/centos-setup-under-parallels-desktop/ http://blog.csdn.net/mmical/article/details/39972573

calico问题解决

k8s node节点的calico报错: Liveness probe failed: Get http://localhost:9099/liveness: dial tcp [::1]:9099: connect: connection refused 日志如下: bird: Mesh_192_168_2_61: State changed to start Threshold time for bird readiness check: 30s 2020-11-19 05:59:37.686 [FATAL][4040] int_dataplane.go 824: Kernel’s RPF check is set to ‘loose’. This would allow endpoints to spoof their IP address. Calico requires Read more…

TypeError: argument of type ‘PosixPath’ is not iterable解决办法

Django执行python manage.py migrate时报如下错误: File “/root/.python_env/.virtualenvs/venv/lib/python3.9/site-packages/django/db/backends/sqlite3/creation.py”, line 12, in is_in_memory_db return database_name == ‘:memory:’ or ‘mode=memory’ in database_name TypeError: argument of type ‘PosixPath’ is not iterable 这个问题应该是django2.0版本和python新版本不兼容导致的(我安装的是Django 2.2.13, Python 3.9.0) django2.0中,django/db/backends/sqlite3/creation.py的代码如下 而最新的django3.1此处的代码为: 如果不想升级django的话可以参照新版django修改即可。 不过要在文件前面导入Path,即: from pathlib import Path 所以改动如下:vim /root/.python_env/.virtualenvs/venv/lib/python3.9/site-packages/django/db/backends/sqlite3/creation.py  

 

解决Django:SQLite 3.8.3 or later is required

在我的CentOS系统上安装了django==2.2.8并创建了一个webApps项目,使用:

但是,当我使用以下命令初始化迁移所需模型时,发生了错误:

以上命令产生了如下的错误输出: django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17). django发现Python使用的sqlite版本过低,不满足要求。因此,我尝试升级自带的sqlite。使用sqlite3 –version查看了CentOS的Sqlite为3.7,我开始用yum remove sqlite移除了当前版本,并且编译安装高版本,参考比如:

  此时完成了sqlite 3.27.2的安装,但是系统默认认识3.7。因此链接新的路径:

  设置共享库路径:export LD_LIBRARY_PATH=”/usr/local/lib”:LD_LIBRARY_PATH并执行生效source ~/.bashrc 这个时候,使用sqlite3 –version时便会输出版本为3.27.2。可是当我再次执行python3 manage.py migrate时仍会报错,原来python使用的sqlite还是3.7:

  这个时候我就二丈摸不着头脑了,google了一下,解决方式包括未正确设定sqlite、尝试升级python版本、重新编译python等,重新编译太麻烦了吧,于是我发现了一个可以有效解决当前django必须使用sqlite3.8.3以上版本的问题。感谢,可以这样尝试: locate django将会输出大量包含django关键字的目录文件,可以看到django安装在哪些路径下,在我的系统上,需要找到/…/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py这个脚本,django判断当前使用的sqlite版本的代码就在这里,找到以下代码块,注释掉那一行代码并更改:

  再次尝试django-admin startproject webApps便会执行成功 From: https://cloud.tencent.com/developer/article/1639633

build a docker-compose binary for aarch64/arm64

在uos(基于Debian)操作系统上, docker-compose也需要重新编译, 过程如下: 首先安装docker 获取软件包获取“Docker Compose-1.22.0”安装包。

  安装 进入docker-compose源文件目录。cd /usr/local/src/docker-compose-aarch64 配置Dockerfile。vi Dockerfile更改如下:由于是直接在uos机器上编译,所以不需要进行交叉编译,注释掉RUN [ “cross-build-start” ] pip install时老是timeout,在此增加timeout时间, 配置清华源 完整Dockerfile如下:

  安装docker-compose

  运行和验证   运行docker-compose容器

  拷贝执行文件:

 

搭建rsync服务器同步数据

最近在弄国产化操作系统适配,由于别人公司不让用VPN, 只能通过一个公网映射端口做ssh登录,而安装代码又是放在内网的其它服务器上, 代码调试很不方便,所以想到用rsync来从公网服务器上自动同步代码到内网服务器上 首先搭建rsync服务: 安装rsync:

在source服务器上运行命令(可以同时同步到两台内网服务器上)

  如果用cron来定时同步的话, 可以简单地配置ssh免密, 来通过ssh同步:

  注: 如果用rsync模块来同步的话, 可以来配置rsync服务器:

具体使用方法如下:

 

docker设置代理

docker pull某些镜像时速度特别慢,可以设置代理,设置方式是: 编辑/usr/lib/systemd/system/docker.service,加入: