1.前景
下载:Python版本下载
对于Python原生环境来说,假设读者各位,安装了一个Python环境,环境变量,路径,都是安装包自动配好的。
相信大家有的人是单机开发或者有其他需求,就会发现,一台机器上已经配好的Python环境,直接Copy过去,即使配好了环境变量也会发现,欸!用不了了!
2.Python环境验证
cmd命令行输入:
where python
或者是where pip等等,反正这个就是个检查exe环境的命令,如果你的机器没有装对应的环境变量配置,就会提示没有,否则会打印出对应的路径
注意,路径有可能有多个,说明你的机器上可能装了多个版本。我们的程序执行的时候,找到了第一个就会直接引用环境,所以如果有安装多个需要注意这个地方
正常我们安装完,一个完整的python目录如下,博主后面的统一以Python38说明,如果你的是其他版本,变通一下即可
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。到目标机器上一键运行下就行了