树莓派3B+更新Openssl以及Python3.10

OpenSSL安装

先去官网下载openssl1.1.1u和python3.10的安装包到树莓派

将openssl安装到/software目录下

sudo mkdir /software
sudo tar -xvf openssl-1.1.1u.tar.gz
cd openssl-1.1.1u/

编译安装

sudo ./config --prefix=/software/openssl --openssldir=/software/openssl-111
sudo make -j4
sudo make install
sudo mv /usr/bin/openssl /usr/bin/openssl-back
sudo ln -s /software/openssl/bin/openssl /usr/bin/openssl
sudo ln -s /software/openssl/include/openssl /usr/include/openssl
sudo sh -c "echo '/software/openssl/lib'  >> /etc/ld.so.conf"
sudo ldconfig -v
openssl version
sudo mv /usr/lib/arm-linux-gnueabihf/libssl.so.1.1 /usr/lib/arm-linux-gnueabihf/libssl.so.1.1.old
sudo mv /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1 /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1.old
sudo cp /software/openssl/lib/libssl.so.1.1 /usr/lib/arm-linux-gnueabihf
sudo cp /software/openssl/lib/libcrypto.so.1.1 /usr/lib/arm-linux-gnueabihf

最终显示

pi@RaspberryPi:~ $ openssl version
OpenSSL 1.1.1u  30 May 2023

python安装

将python安装到/software目录下

查看openssl lib库文件位置

pi@RaspberryPi:~ $ dpkg -L libssl-dev | grep libssl.a
/usr/lib/arm-linux-gnueabihf/libssl.a
sudo tar -xvf Python-3.10.12.tgz
cd Python-3.10.12/

编译安装

--prefix :选项指定Python 3的安装目录为 /usr/local/mydev/python/python3,你可以根据自己的需要修改安装目录。(可选)。用法:--prefix=/usr/local/mydev/python/python3。

--enable-optimizations: 选项启用优化选项,以提高Python解释器的性能。这个选项会使用一些编译器优化和调整来提高Python的执行速度,但是会增加编译时间和内存使用。(可选)

--with-openssl :选项指定使用哪个OpenSSL库版本编译Python。在这个例子中,Python将使用/software/openssl 路径下的OpenSSL库,这个路径下通常是OpenSSL库的二进制可执行文件的安装位置。(可选)。用法:--with-openssl=/software/openssl,使用这个选项一定要先安装openssl再安装python,目录使用openssl安装好的那个目录(--prefix=),不要像安装模块一样指定解压出来的那个目录,因为模块是不需要安装的但openssl不一样。

--with-ssl :与 --with-openssl二选一,此方式就是不指定ssl

make j4 :意思就是make编译的时候用4个核心同时编译,这样会加快编译速度,缺点是树莓派CPU温度上升非常快,一会就到了70度上下,最好是make j2使用双核心,这样温度大概62度左右。冬天可以j4,因为室温比较低。

./configure --prefix=/software/python3.10 --with-openssl=/software/openssl
sudo make j2
sudo make install 
sudo ln -s /software/python3.10/bin/python3.10 /usr/local/bin/python3.10
sudo ln -s /software/python3.10/bin/pip3.10 /usr/local/bin/pip3.10
sudo ln -s /software/python3.10/bin/python3.10-config /usr/local/bin/python3.10-config

查看python是否支持openssl,分别是python2、python3.5、python3.10,前两个是树莓派自带的python,后面这个python3.10就是编译安装的,到此就算成功了。

pi@RaspberryPi:/software/Python-3.10.12 $ python -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 1.1.1u  30 May 2023
pi@RaspberryPi:/software/Python-3.10.12 $ python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 1.1.1u  30 May 2023
pi@RaspberryPi:/software/Python-3.10.12 $ python3.10 -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 1.1.1u  30 May 2023
python3.10 --version


最后编辑于:2023/07/15作者: admin

发表评论