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/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步