以前复现别人代码配置环境时,没有遇到过 环境名=版本=源 这种情况。查资料后才知道第二个等号后是配置源,配置源=pypi_0是用pip来安装包,不能用conda来安装。
首先,将环境配置文件中第二个等号后边为‘pypi_0'的都移到另一个txt文件中保存,代码实现如下。
def filter_and_save(filename):
with open(filename, 'r') as file:
lines = file.readlines()
filtered_lines = []
pypi_lines = []
for line in lines:
parts = line.split('=', 1) # 限制分割为两部分,以保留等号前的内容
if len(parts) > 1 and '=' in parts[1] and parts[1].split('=', 1)[1].strip() == 'pypi_0':
pypi_lines.append(line)
else:
filtered_lines.append(line)
# 保存包含'pypi'的行到另外一个文件
with open('new.txt', 'w') as file:
file.writelines(pypi_lines)
# 保存过滤后的行到原始文件
with open(filename, 'w') as file:
file.writelines(filtered_lines)
# 测试
file_path = 'old.txt' # 替换为你的文件路径
filter_and_save(file_path)
然后,按照之前常规安装依赖包的方式用conda安装移除pypi后的文件就可以了。如果还是提醒有包找不到,可以先注释掉,之后用别的方式安装。最后,用pip安装另一个(pypi)环境配置文档就可以了。