一句话总结:
tensorboard.exe将python.exe绝对路径添加到二进制文件中,克隆后路径改变,找不到python.exe所以报错。
分析:
原始环境:D:\miniconda3\envs\tf
克隆后的环境:D:\miniconda3\envs\test
查看tensorboard命令路径。
使用010 Editor打开tensorboard.exe文件发现,test环境中的tensorboard文件依赖原环境的python.exe。
解决办法:
一:新设备在联网条件下哪个文件报错就重新编译哪个文件
二:编写python脚本将二进制文件中的路径直接修改为新的路径
简单脚本示例:
#!/usr/bin/env python
# encoding: utf-8
# ------------------------------------------------------------------
# @FileName : main.py
# @Author : Axelioc
# @Version: : python3.9
# @Time : 2023/3/28 15:45
# @Software : PyCharm
# @Description : 在给定路径的二进制文件中寻找字符串a,替换为b
# ------------------------------------------------------------------
import os
dir = input('要修改的文件:')
dir.replace('\\', '/')
change = dir + '_tmpfiles'
with open(dir, 'rb+') as f1, open(change, 'wb+') as f2:
a = bytes(input('要查找的字符:'), encoding='utf-8')
b = bytes(input('想要修改为:'), encoding='utf-8')
s = f1.read()
f1.seek(0)
index = s.find(a)
p1 = f1.read(index)
f2.write(p1)
f2.write(b)
index = index + len(a)
f1.seek(index)
p3 = f1.read()
f2.write(p3)
os.remove(dir)
os.rename(change, dir)
2023.3.28