• python环境迁移:从联网笔记本到离线服务器


    说明1:联网笔记本和离线服务器最好安装同一版本的anaconda

    说明2:本文以离线安装包的形式重建虚拟环境,而不是直接把虚拟环境拷贝过去使用,是因为有的安装包直接拷贝过去无法正确使用。

    说明3:先配置好环境再下载离线安装包的原因是,许多安装包有依赖包,逐个下载需要的离线安装包无法确保这个离线安装包的正常安装与使用。 

    说明4:可能还有其他更方便的虚拟环境迁移方式,有待学习,希望大家指教。

    说明5:本文将联网笔记本上创建的虚拟环境复制到离线服务器上,而不是在离线服务器上重新创建环境,是因为,anaconda缺乏一些必要的python版本或相关的依赖包。


     第一步,创建虚拟环境

    在联网笔记本上用anaconda创建虚拟环境env-py37.

    conda create -n env-py37 python=3.7

    第二步:配置虚拟环境

    在联网笔记本上配置虚拟环境env-py37,安装相应的python包,如numpy,pandas,matplotlib等。

    1. pip install matplotlib
    2. pip install sklearn
    3. pip install pandas
    4. pip install opencv-python
    5. pip install numpy
    6. %% 等等

    第三步:获取pip配置列表

    pip freeze > ./requirements.txt

    得到pip安装列表如下:

    1. certifi==2022.9.14
    2. cycler==0.11.0
    3. fonttools==4.37.3
    4. joblib==1.2.0
    5. kiwisolver==1.4.4
    6. matplotlib==3.5.3
    7. numpy==1.21.6
    8. opencv-python==4.6.0.66
    9. packaging==21.3
    10. pandas==1.3.5
    11. Pillow==9.2.0
    12. pyparsing==3.0.9
    13. python-dateutil==2.8.2
    14. pytz==2022.2.1
    15. scikit-learn==1.0.2
    16. scipy==1.7.3
    17. six==1.16.0
    18. sklearn==0.0
    19. threadpoolctl==3.1.0
    20. typing_extensions==4.3.0
    21. wincertstore==0.2

     如果得到的 requirements.txt 中,包后面有“@...”(如下所示),则把所有“@...”内容删掉。 

    1. altgraph @ file:///home/linux1/recipes/ci/altgraph_1611055153312/work
    2. Bottleneck @ file:///C:/Windows/Temp/abs_3198ca53-903d-42fd-87b4-03e6d03a8381yfwsuve8/croots/recipe/bottleneck_1657175565403/work
    3. certifi @ file:///C:/b/abs_4f5wo627a3/croots/recipe/certifi_1663615677642/work/certifi
    4. cycler @ file:///tmp/build/80754af9/cycler_1637851556182/work
    5. et-xmlfile==1.1.0
    6. fonttools==4.25.0
    7. future==0.18.2
    8. importlib-metadata @ file:///C:/ci/importlib-metadata_1648562631189/work
    9. joblib==1.2.0
    10. kiwisolver @ file:///C:/ci/kiwisolver_1653274189334/work
    11. macholib @ file:///home/linux1/recipes/ci/macholib_1611055836792/work
    12. matplotlib @ file:///C:/ci/matplotlib-suite_1660169687702/work

    第四步:批量下载package

    把requirements.txt中所有的package下载到“your_offline_packages”文件夹中。当所有的package都下载成功后,所有的package一起出现,而不是逐个下载逐个出现。

    pip download -d your_offline_packages -r requirements.txt

    第五步:清空虚拟环境

    把在联网笔记本上配置的虚拟环境env-py37中,卸载已经安装的package,如numpy,pandas,matplotlib等。目的是减小虚拟环境的大小。

    pip uninstall -r requirements.txt

    第六步:收集虚拟环境的安装文件。

    包含以下三个文件:

    1)在anaconda安装目录下的env-py37环境文件夹。路径为:E:\software-setups\Anaconda3\envs\env-py37。将整个文件夹压缩。

    2)上面第四步中得到的your_offline_packages文件夹。

    3)上面第三步得到的requirements.txt文件。

    第七步:在离线服务器上重建虚拟环境env-py37。

          step1:复制基础环境env-py37

            把env-py37文件夹复制到离线服务器的/anaconda3/envs路径下.

          step2:批量安装离线包

     pip install --no-index --find-links=/your_offline_packages/ -r requirements.txt

    其它相关博客(本文未参考以下文章,但是作为补充可以看一下):

    conda虚拟环境的离线迁移_Lsy_0408的博客-CSDN博客_conda迁移虚拟环境

    python虚拟环境迁移_weixin_30480075的博客-CSDN博客

  • 相关阅读:
    修改docker默认存储位置【高版本的docker】
    计算机的基本组成
    CSS3技巧37:JS+CSS3 制作旋转图片墙
    Unity Render Streaming通过Js与Unity自定义通讯
    DOM
    【剑指 Offer 21. 调整数组顺序使奇数位于偶数前面】
    cpp学习笔记:STL queue容器
    IOS浏览器不支持对element ui table的宽度设置百分比
    深度剖析 Python 日志重复打印问题
    Vue之transition组件
  • 原文地址:https://blog.csdn.net/Strive_For_Future/article/details/126963062