Python环境无缝移植,拷贝到其他机器也能使用

本文介绍了在Python环境中遇到的跨机器移植问题,包括处理安装目录的exe文件、设置环境变量、以及确保Libs/packages目录的正确引用,通过批处理脚本实现一键解决Python环境移植中的兼容性问题。
摘要由CSDN通过智能技术生成

1.前景

下载:Python版本下载

对于Python原生环境来说,假设读者各位,安装了一个Python环境,环境变量,路径,都是安装包自动配好的。
相信大家有的人是单机开发或者有其他需求,就会发现,一台机器上已经配好的Python环境,直接Copy过去,即使配好了环境变量也会发现,欸!用不了了!

2.Python环境验证

cmd命令行输入:

where python

或者是where pip等等,反正这个就是个检查exe环境的命令,如果你的机器没有装对应的环境变量配置,就会提示没有,否则会打印出对应的路径

注意,路径有可能有多个,说明你的机器上可能装了多个版本。我们的程序执行的时候,找到了第一个就会直接引用环境,所以如果有安装多个需要注意这个地方

正常我们安装完,一个完整的python目录如下,博主后面的统一以Python38说明,如果你的是其他版本,变通一下即可
Pthon安装释放目录列表

3.如何处理?

经过博主的尝试,一共有这么几个地方要处理。处理完后。写个批处理脚本,一台机器的python,拷贝到另外一台就能直接用了

3-1:安装目录处理(拷贝到其他机器前就要做)

Python38\Scripts下存放着python里执行的exe,自带有pip.exe等,如果有继续装其他的,这个目录下exe会越来越多。你就会发现移植到其他机器exe全部废了。那么我们需要怎么处理呢?
在移植前你需要所有你这个目录下的exe处理

1.首先用Notepad++(其他编辑器亦可),直接选中所有的exe,以文本形式打开,搜索python.exe,你就会发现他后面跟着你完整的安装路径,
在这里插入图片描述

2.把python.exe前面的路径,批量替换全部去掉,只留python.exe,
这步是通用的哦,到时候python会以相对路径+python.exe去引用这些exe,不会影响任何使用,也不知道为什么python官方不这样配置
在这里插入图片描述
3.全部保存,关闭即可提交,后续如果有新安装环境exe,也这样替换一下即可

3-2:环境变量处理

新机器我们需要运行以下bat处理重新设置环境变量,自己手动添加也行

#添加环境变量,currentDir为你当前pyhton38的新机器路径
set PythonDir=%currentDir%Python38;
set PythonScriptDir=%currentDir%Python38\Scripts\;
setx Path "%PythonDir%;%PythonScriptDir%;%Path%"

注意!!,Path有效最大长度是2048,超出的你无论怎么添加,系统都找不到
所以环境变量很多的机器上要注意这个问题

3-3:拷贝到新机器上,目录重新引用处理

Python除了3-1中exe的处理,我们日常还用pip安装了很多包,目录位于Libs\packages目录下,新机器我们要让这些packages重新引用上python环境,只需要执行以下命令

#currentDir为你当前pyhton38的新机器路径
set PythonDir=%currentDir%Python38
%PythonDir%\python.exe -m venv --copies %PythonDir%\Lib\venv

4.总结

1.执行完3-1后,命令行等全部都能用了,包括程序引用等都不会有异常
2.执行完后3-3后,packages全部都能用了。python脚本import和调用函数也不会报错
3.后续有新增exe,只要和3-1那样处理下。把3-2和3-3里的处理写成一个bat。到目标机器上一键运行下就行了

  • 13
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值