• 【过程记录】python环境离线迁移


    前言

    工作环境的电脑因特殊原因无法联网,因此在上面直接安装依赖就比较麻烦。本篇就简单来记录一下实现本地环境迁移的流程。

    方式选择

    离线迁移大致上有三种方式。

    方式一:直接拷贝

    Anaconda虚拟环境的安装依赖会统一存放在site-packages文件夹下,因此对于一些普通包可以直接进行拷贝。不过拷贝时需要注意需要将原始包和dist-info两个文件夹同时进行拷贝,否则pip list会无法索引到。

    不过该方法问题在于有些包并不是按这个格式排布,无法直接进行操作。
    在这里插入图片描述

    方式二:手动下载安装包

    如果只需要安装类似numpy、scipy这种简单的基础库,只需要下载.whl或者Github上的源文件就可以简单进行安装。
    但是如果遇到的是一些复杂库,其安装过程中需要联网去下载一些其它依赖,并且依赖还很多,依赖的安装还有更多的依赖,这种情况手动下载就比较麻烦了。

    方式三:批量下载安装包

    查阅相关资料,发现pip可以根据requirements.txt文件批量下载安装包,因此本次就采用这一种方法。

    打包requirements.txt

    打包requirements.txt的方式在我之前的博文【目标检测】Flask+Docker在服务器部署YOLOv5应用提到过,最好是利用pipreqs的方式进行打包。

    pipreqs . --encoding=utf8 --force
    
    • 1

    打包完成之后,需要手动对文件内容进行一定修改,包括但不限于删除setuptools(新环境一般自带setuptools),根据不同的系统修改torch版本等。
    在这里插入图片描述

    修改完成之后,将requirements.txt拷贝到一个新建的文件夹中,在文件夹中批量下载依赖。

    pip download -r requirements.txt
    
    • 1

    注意我使用的python版本为3.8.0,使用python3.7会报错。

    在这里插入图片描述

    离线安装

    下载完之后,将整个文件夹拷贝到新机子上,在新环境中执行:

    pip install --no-index --find-links="." -r requirements.txt
    
    • 1

    没报错就代表安装完成。

    报错解决

    在此次过程中,我使用Anaconda创建一个python3.8的新环境时,输入pip list,发现报错

    no module named pywin32_bootstrap

    国内网站能查到的解决方法清一色是安装225版本的pywin32

    pip install pywin32==225
    
    • 1

    然而实测并没有什么卵用。

    后在stackoverflow找到解决方案,输入:

    pip install --ignore-installed pywin32 --user
    
    • 1

    再次输入pip list,不再报错。

  • 相关阅读:
    c++11~c++20 -07-使用lambda注意点
    『力扣每日一题14』:消失的数字
    计算机组成原理---第五章中央处理器---指令执行过程
    【经验】解决重置 Windows 10 时报错:“无法找到介质” 的错误
    Java基础面试题(2022版)
    flutter系列之:flutter中常用的GridView layout详解
    单表数据记录查询
    hadoop dfsadmin -refreshNodes 命令详解
    Cholesterol-PEG-FITC,Fluorescein-PEG-CLS,胆固醇-聚乙二醇-荧光素水溶性
    MybatisPlus的CRUD接口
  • 原文地址:https://blog.csdn.net/qq1198768105/article/details/126570180