離線環境下自動化部署python環境(含openssl)

来源:https://www.cnblogs.com/caoyt/archive/2019/10/25/11736677.html
-Advertisement-
Play Games

遇到有項目要在內網環境下安裝python項目,所以空餘時寫了自動化部署python環境和python項目的腳本,由於項目涉密,這裡僅提供自動化部署python環境的shell腳本,包括openssl的版本判斷和安裝 註 需要將相關安裝包放在data目錄下,或者修改腳本中的路徑 沒找到上傳附件的地方, ...


遇到有項目要在內網環境下安裝python項目,所以空餘時寫了自動化部署python環境和python項目的腳本,由於項目涉密,這裡僅提供自動化部署python環境的shell腳本,包括openssl的版本判斷和安裝   

註 需要將相關安裝包放在data目錄下,或者修改腳本中的路徑

沒找到上傳附件的地方,那就貼下路徑好了

openssl的:1.0.2及上版本即可,腳本會自己判斷的,若不是內網環境的話把下麵這句話替換進去就行,用不著下載下來再放進去

wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz

python下載地址,自己挑版本,我用的是3.7.3系列

https://www.python.org/downloads/

 

#!/bin/bash
#install openssl
#Author:cyt

echo "開始下載python所需依賴包"
yum -y install gcc gcc-c++ zlib zlib-devel libffi-devel openssl openssl-devel
openssl=`openssl version|awk -v FS=" " '{print $2}'|tr -cd "[0-9]" 2>&1`
echo `openssl version`
if [[ $openssl -ge "102" ]];
then
echo "符合python3所需要的openssl版本,開始安裝python環境"
else
echo "openssl版本過低,即將升級openssl版本"
cd /data/
tar zxvf /data/openssl*
cd /data/openssl*
./config --prefix=/data/openssl
make
make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /data/openssl/bin/openssl /usr/bin/openssl
ln -s /data/openssl/include/openssl /usr/include/openssl
echo “/data/openssl/lib” >> /etc/ld.so.conf
ldconfig -v
openssl=`openssl version 2>&1`
echo $openssl
if [[ $openssl =~ "1.0.2" ]];
then
echo "openssl版本已更新,開始安裝python環境"
else
echo "不好意思,安裝openssl失敗,請檢查環境或手動安裝"
fi
fi

#install python
cd /data/
tar zxvf /data/Python-3.7*
cd /data/Python*
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN.UTF-8
./configure --prefix=/data/python3 --with-ssl
make && make install
ln -s /data/python3/bin/python3 /usr/bin/python3
ln -s /data/python3/bin/pip3 /usr/bin/pip3
python=`python3 -V 2>&1`
echo $python
if [[ $python =~ "3.7" ]];
then
echo "python環境安裝完成"
else
echo "不好意思,python安裝失敗,請檢查環境或手動安裝"
fi

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • TortoiseSVN回退 情況說明: 把文件修改了並提交到了伺服器上,業務說:“需求變化了”,保持原來的就可以了。 解決辦法: 首先就是將這個文件還原到上一個修訂版本的內容(Revert to this revision操作), 然後將這個文件重新提交, 那麼伺服器上的這個文件就恢復為了修改之前的 ...
  • centos系統如何聯網以及遠程連接 最近幾個周一直在安裝linux的各個發行版本的系統。這些系統,有的方便的,在安裝過程就能把網路配好,有的需要安裝好後,啟動系統後對文件進行修改才能連上網。由於我和我的實習生同學經常會用到如何通過修改本地文件來聯網,所以做個隨筆,記錄一下步驟,以供以後參考使用。 ...
  • 1 本機環境: deepin 15.11 Qt 5.11.3 fcitx 輸入法 2 問題描述 Qt Creator 和使用 QT 編譯的程式運行時均不能使用deepin系統自帶的fcitx輸入法,且採用傳統方法(將 /usr/lib/x86_64-linux-gnu/qt5/plugins/pla ...
  • Linux centos重啟命令: 1、reboot 普通重啟 2、shutdown -r now 立刻重啟(root用戶使用) 3、shutdown -r 10 過10分鐘自動重啟(root用戶使用) 4、shutdown -r 20:35 在時間為20:35時候重啟(root用戶使用) 如果是通 ...
  • 在nginx的server中添加: 這是由於頁面內容過長,預設的值比較小造成的。 ...
  • 在當前文件夾下麵模糊搜索文件: find . -type f | xargs grep 'boot',"boot"表示文件名中包含的字元串 ...
  • 在當前文件中查找包含的字元串 find . -name "*.txt" | xargs grep 'abc' ,例如:查找txt文件中包含字元串a的字元串 ...
  • 發現自己的linux水平楞個瓜皮,找個視屏教程學習一哈1 linux系統簡介1.1 UNIX和Linux發展史unix發展歷史:1969年,美國貝爾實驗室的肯.湯普森開發出unix系統,1971年丹尼斯·里奇發明C語言,1973年,unix用c重寫硬體平臺的概念 也就是cpu架構PowerPC IB... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...