Python環境離線部署


幾種方式部署Python;
方式1: 手動拷貝粘貼:
   首先拷貝環境目錄到新機器位置;
   使用 conda create -n BBB —clone [拷貝過來的環境目錄]
   參考:
    https://blog.csdn.net/shincling/article/details/75534121
    http://www.voidcn.com/article/p-skckvhci-bpc.html


方式2: 使用 conda pack 工具方式
     首先在開發環境機器上安裝conda pack: conda install -c conda-forge conda-pack
     打包開發項目: conda pack -n my_env
     在新機器上解壓上一步的壓縮包
     激活python虛擬環境
     Conda-unpack 清除一些前綴(我也不知這是什么)
     參考:https://conda.github.io/conda-pack/


方式3: 使用conda的命令執行遠程離線環境部署(方便二次開發)— 有點類似方式1, 但該方式設置了本地channel,方便后續開發
    首先使用 conda list -e > packagelist.txt 命令導出環境已經安裝好的包;
    拷貝開發環境機器上的pkgs目錄到新目錄如pkgs2,該目錄與虛擬環境目錄同一個位置,其中包含了很多之前虛擬環境安裝下載的bz2包;
    對比pkgs2目錄下的包和packagelist.txt中的區別,刪除pkgs2中一些不需要的老版本包
    對於pkgs2建立索引,使用命令: conda index [pkgs2],該命令應該會生成索引文件如: ".index.json", "repodata.json" 和 "repodata.json.bz2”.
    在新機器上:拷貝剛才的pkgs2到新機器,請提前安裝好conda環境;
    使用如下命令執行pkgs2從本地安裝配置依賴包環境:
      conda install --file C:\Users\myName\Desktop\OfflineInstall\packagelist.txt --channel file://C:\Users\myName\Desktop\OfflineInstall\pkgs2
    注意:這里的install應該可以改成create命令來創建新的虛擬環境,install應該是安裝到當前虛擬環境。
             channel的默認配置文件可以搜索插件.condarc文件,一般位於用戶目錄下。
     

如下命令可以用於搜索本地目錄下是否存在特定的包:
conda search --channel D:/code/arcgis_offline_downloads/channel --override-channels
離線安裝包的命令:
conda install --channel //offline/arcgis_channel/channel arcgis --offline --override-channels
參考:https://stackoverflow.com/questions/51286388/creating-an-offline-package-folder-for-anaconda
https://support.esri.com/zh-cn/technical-article/000014951


方式4: 利用virtualenv命令打包並移植
     首先打包整個虛擬環境目錄並拷貝到新機器,命令如下所示:
      tar -cvf venv.tar venv/
     使用 virtualenv —relocatable 命令在新機器環境上指定虛擬環境的新位置;
     修改環境目錄下的active文件中 VIRTUAL_ENV環境變量的內容,指向該環境變量真正的python位置。
------    

部署 project 這個項目
上述執行 virtualenv --relocatable 之后
1. 將開發環境下的虛擬沙盒 venv 打包壓縮。
tar -cvf venv.tar venv/
2. 將項目代碼拉到線上生產環境目錄/app/proj1
然后把venv.tar 扔到/app/proj1目錄下,解壓。做解決項目依賴之前的准備工作。
3. 進入 /app/proj1/venv 目錄下
重點:
修改 bin目錄下的active 文件
vim /app/proj1/venv/bin/active
將變量名:VIRTUAL_ENV 由原先打包的 /data/python/project/venv 改成實際的 /app/proj1/venv
參考:https://yq.aliyun.com/articles/159599

-----------

額外參考鏈接:對比pip和conda方式離線環境下載安裝
https://blog.veir.me/2018/03/10/install-python-and-python-moudle-offline/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM