解决新版本Python依赖SSL1.1.1版本问题

解决新版本Python依赖SSL1.1.1版本问题

Python3.10以上版本安装时,要求openssl版本是1.1.1以上。一般操作系统默认的版本是1.0.2,可以用openssl version命令看一下。

openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017

找了一圈,终于搞定这个问题。首先要下载并安装openssl1.1.1版本
wget https://www.openssl.org/source/openssl-1.1.1i.tar.gz
tar -xvzf openssl-1.1.1i.tar.gz
cd openssl-1.1.1i
./config
make && make install

安装完成后,再次运行openssl version发现还是1.0.2版本。出现这情况并不是没有升级成功。而是该会话还是原来的会话,用的1.0.2版本。这时新建一个会话,在运行openssl version发现变成了1.1.1版本了。这时在去python的安装目录

./configure
make && make install
成功安装

OpenCore将旧MAC设备救活

OpenCore将旧MAC设备救活

最近MACOS的新版本Ventura和Sonoma都不支持旧的MAC型号,最新的17年的设备都无法安装这两个新版本,导致无法安装最新的应用,基本将17年的MAC设备判了死刑。但是,使用OpenCore可以让旧的MAC设备安装Ventura和Sonoma,可以延续旧MAC设备的生命力。

OpenCore最新的版本目前是1.0.1,下载地址,选择OpenCore-Patcher-GUI.app.zip下载即可。下载完成后,打开app,出现界面

首先点解左上角第一个,Build and Install OpenCore,之后选择Install OpenCore,选择Install to Disk

之后选择本机硬盘即可。

之后需要创建U盘启动盘,此处不建议使用这个软件的Create MacOS Installer,自己创建一个比较好。我用这个创建的U盘启动盘,每次安装都报错。首先下载安装包,然后运行命令行sudo /Applications/Install\ macOS\ Sonoma.app/Contents/Resources/createinstallmedia –volume /Volumes/MyVolume,黄色的名字和macos版本相同。

之后重启mac,并立即按住 Option (Alt) 键,选择EFI Boot这个选项,不要直接选择新的版本安装。点击后,在选择新的版本安装。安装过程以及安装完成后,字体非常小,而且会比较卡,这时需要运行OpenCore,点击右上角的Post-Install Root Patch就好了。

AWS Lambda授权S3操作

AWS Lambda授权S3操作

AWS Lambda操作S3的文件,需要提前授权,否则会提示没权限,无法读取或写入。
1、在S3创建一个bucket
2、打开IAM console,选择创建一个role
3、然后选择Trusted entity – AWS Lambda;Permissions – AWSLambdaExecute;Role name – lambda-s3-role

然后就可以了,下面是一个简单的写入S3的python代码
import json, boto3,os, sys, uuid
from urllib.parse import unquote_plus

s3_client = boto3.client(‘s3’)

def lambda_handler(event, context):
some_text = “test”
bucket_name = “my_buck_name”
file_name = “my_test_file.csv”
lambda_path = “/tmp/” + file_name
s3_path = “output/” + file_name
os.system(‘echo testing… >’+lambda_path)
s3 = boto3.resource(“s3”)
s3.meta.client.upload_file(lambda_path, bucket_name, file_name)

return {
    'statusCode': 200,
    'body': json.dumps('file is created in:'+s3_path)
}
AWS Lambda添加python依赖包

AWS Lambda添加python依赖包

在AWS Lambda运行python程序,可能会遇到没有安装依赖包的情况。

有两种方法解决:

1、将依赖包一起打包上传

2、将依赖包部署在Lambda的层里,然后在函数引用相应的层。

自然第二种方案好一些,不用每次都打包一堆不需要的依赖包上传。创建层的依赖包步骤如下

1、找一个linu虚拟机,下载依赖包

python3 -m venv test_venv

source test_venv/bin/activate

mkdir -p test_venv/python/lib/python3.7/site-packages

cd test_venv/python/lib/python3.7/site-packages

pip install xlrd -t .

zip -r ../requests_lambda_layer.zip *

2、将所有依赖包放在zip文件包里的python目录里

3、在AWS层(Layer)上传这个依赖包

4、然后在Lambda函数下边的层里选择这个依赖包即可。

湖北游记–长阳清江画廊

湖北游记–长阳清江画廊

清江画廊,宜昌旁边的一个景点,坐船到一个江中心小岛,叫武落钟离山,游览一圈回去,一路景色不错,游览图

长江的支流,山青水绿

船走到这就往回返,朝武落钟离山开去

山不高,半个小时差不多就到顶了

钟楼

山顶

一望无际

湖北游记–三峡人家

湖北游记–三峡人家

三峡人家是生活在三峡旁边的一个村落,景色还不错,现在买票的地方买票,然后乘坐大巴进去,然后坐船到龙津溪,可以游览,走到八王寨后,在坐船到入口,坐大巴到卖票的地方,总共大约需要4个小时,门票200

长江的水还是挺绿的

小桥

云里雾里

八王寨

拉满汽车的货轮

帆船

溪流

八王宫守卫

有个节目,相传八王寨的文字女传女,不传男,免费的,但看着没啥意思

湖北游记–三峡大坝

湖北游记–三峡大坝

三峡大坝是一个著名的大坝,尽管从立项开始就争议不断,但总算建成了。三峡大坝入口可以免费办理出入证,跟着导航走就行了。路中间会有很多人拦着,推荐他们办理。都是骗子。从秭归县出发到三峡大坝的入口

车辆信息登记,只要驾驶证和行驶本就行

进去后只能做大巴车游览三个地方,控制比较严格,车票45。这个是5级船闸,相当于船的电梯

发电的大坝

从下游看

湖北游记–利川腾龙洞

湖北游记–利川腾龙洞

利川市属于恩施市,利川腾龙洞号称中国最大的洞穴,开发过的路线走路要2个小时,还有大量未开发的路线。门票160,需要在游客中心做大巴过去。游览图

洞口可以容纳一个热气球,是腾龙洞的网红标志

远看

铺好的路可以开电瓶车,建议做,节省时间,单程20

梯田形状

湖北游记–恩施土司城

湖北游记–恩施土司城

恩施大峡谷离恩施市比较远,恩施市也就一个土司城,没什么看的,土司城城墙围一圈,里面是土司的势力,门票45,有点坑

还没怎么开发,路线也不多

雕塑

总体来说没啥意思。路过看看可以,没必要特意看。

湖北游记–恩施大峡谷

湖北游记–恩施大峡谷

随后去恩施,主要看恩施大峡谷。恩施大峡谷有两条参观路线,一条是地缝景区,也就是在山谷走一段,大约1个半小时。还有一个是七星寨景区,需要做缆车上去。两个景点可以一天逛完,要是来不及的话,可以分两天逛。第二天需要再前台登记一下,告诉她们哪个点没去,她们会在票上扣个章,可以继续使用。游览图

在民宿的楼顶拍的

地缝,两边都是山,水量充足,瀑布

在瀑布里面走

七星寨

著名的一线天石头柱子