Skip to content

环境配置指南 #10

Description

@Cb1ock

这里贴出一个个人的python环境配置指南

首先你应该是用conda的

  1. conda* create -n <env-name> python=3.x
  2. conda activate <env-name> or source activate <env-name>
  3. conda install pytorch=2.x torchvision=? torchaudio=? 这一条指令应该参考torch官网

下面就是你的其他相关的包的安装了, 也是比较关键的部分

  1. conda install --yes --file requirements.txt 此时不出问题的话就结束了, 但是一般会出现某些包conda安装不了的情况. 所以你最好写个脚本, 把requirements.txt文件分割成俩个文件 conda_requirements.txtpip_requirements.txt
  2. 然后先用conda conda install --yes --file conda_requirements.txt , 再用pip pip install -r requirements.txt 即可(用pip之前最好先which pip一下, 看一下用的是不是你创建的conda里面的pip

下面贴出这个脚本的具体实现

import subprocess
import re

def split_requirements():
    # 尝试安装 requirements.txt 中的包,并捕获输出
    result = subprocess.run(['conda', 'install', '--yes', '--file', 'requirements.txt'], 
                            capture_output=True, text=True)
    
    # 解析无法安装的包
    missing_packages = []
    for line in result.stderr.split('\n'):
        if 'PackagesNotFoundError' in line:
            # 解析无法安装的包名
            missing_packages = re.findall(r"'([^']*)'", line)
            break

    with open('requirements.txt', 'r') as file:
        lines = file.readlines()

    with open('conda_requirements.txt', 'w') as conda_file, \
         open('pip_requirements.txt', 'w') as pip_file:
        for line in lines:
            package_name = line.split('==')[0]
            if package_name in missing_packages:
                pip_file.write(line)
            else:
                conda_file.write(line)

if __name__ == "__main__":
    split_requirements()

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

技术相关除了具体代码以外的

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions