2021-11-12PY8

“”"
1.定义一个类(不限定定义哪个类):
要求: a.需要有一个类变量
b.需要有>=2个的对象变量
c.定义一个方法:打印类变量和对象变量
d.使用print打印对象->输出为This is a object
e.实例化两个对象:且两个对象相加等于2
f.为对象添加一个临时变量temp_var
“”"
class Person:
class_type = “Person Class”
def init(self, name, age):
self.name = name
self.age = age
def print_info(self):
print(“类变量:”, Person.class_type)
print(“对象变量:”, self.name, self.age)

def __str__(self):
    return "This is a object"

def __add__(self, other):
    return 2

zhangsan = Person(“zhangsan”, 18)
print(zhangsan.print_info())
lisi = Person(“lisi”, 20)
print(zhangsan + lisi)

产生了一个对象的临时变量 class_type

zhangsan.class_type = “temp variable”
print(zhangsan.class_type)
print(lisi.class_type)
在这里插入图片描述

(ostrack_win) D:\anaconda\OSTrack-main>conda env create -f ostrack_cuda113_env.yaml Collecting package metadata (repodata.json): done Solving environment: failed ResolvePackageNotFound: - gmp==6.2.1=h58526e2_0 - ca-certificates==2022.3.29=h06a4308_0 - cudatoolkit==11.3.1=h2bc3f7f_2 - certifi==2021.10.8=py38h578d9bd_2 - sqlite==3.38.2=hc218d9a_0 - torchvision==0.11.0=py38_cu113 - python_abi==3.8=2_cp38 - freetype==2.10.4=h0708190_1 - openssl==1.1.1n=h7f8727e_0 - nettle==3.6=he412f7d_0 - pip==21.2.4=py38h06a4308_0 - pillow==6.2.1=py38h6b7be26_0 - libiconv==1.16=h516909a_0 - openh264==2.1.1=h780b84a_0 - libgcc-ng==9.3.0=h5101ec6_17 - _openmp_mutex==4.5=1_gnu - mkl-service==2.4.0=py38h497a2fe_0 - zlib==1.2.11=h7f8727e_4 - ncurses==6.3=h7f8727e_2 - readline==8.1.2=h7f8727e_1 - intel-openmp==2021.4.0=h06a4308_3561 - mkl_random==1.2.2=py38h1abd341_0 - tk==8.6.11=h1ccaba5_0 - numpy==1.21.2=py38h20f2e39_0 - numpy-base==1.21.2=py38h79a1101_0 - gnutls==3.6.13=h85f3911_1 - typing_extensions==4.1.1=pyha770c72_0 - python==3.8.13=h12debd9_0 - libuv==1.40.0=h7b6447c_0 - lz4-c==1.9.3=h9c3ff4c_1 - libgomp==9.3.0=h5101ec6_17 - torchaudio==0.10.0=py38_cu113 - libpng==1.6.37=h21135ba_2 - mkl==2021.4.0=h06a4308_640 - setuptools==58.0.4=py38h06a4308_0 - xz==5.2.5=h7b6447c_0 - libtiff==4.0.10=hc3755c2_1005 - ffmpeg==4.3=hf484d3e_0 - bzip2==1.0.8=h7f98852_4 - jpeg==9d=h7f8727e_0 - olefile==0.46=pyh9f0ad1d_1 - six==1.16.0=pyh6c4a22f_0 - pytorch-mutex==1.0=cuda - libstdcxx-ng==9.3.0=hd4cf53a_17 - zstd==1.4.9=ha95c52a_0 - lame==3.100=h7f98852_1001 - pytorch==1.10.0=py3.8_cuda11.3_cudnn8.2.0_0 - libffi==3.3=he6710b0_2 - mkl_fft==1.3.1=py38hd3c417c_0
最新发布
05-02
<think>好的,我现在需要帮助用户解决在创建Conda环境时遇到的ResolvePackageNotFound错误。用户列出了很多缺失的包,比如gmp、cudatoolkit、torchvision等。首先,我应该回忆一下常见的导致这个问题的原因以及解决方法。 首先,ResolvePackageNotFound通常是因为Conda在指定的渠道中找不到这些包的具体版本,或者包名称在默认的渠道中没有提供。这时候可能需要添加额外的渠道,比如conda-forge或者pytorch的专用渠道。例如,cudatoolkit和pytorch相关的包通常需要从pytorch或者nvidia的渠道获取。 接下来,用户提到的环境可能是通过一个environment.yml文件创建的,这个文件可能指定了某些包的版本或渠道。如果环境文件中没有正确指定渠道,或者渠道优先级有问题,Conda可能无法解析依赖。这时候需要检查环境文件中的channels部分,确保正确的渠道顺序,比如conda-forge通常放在后面,因为高优先级的渠道会被先搜索。 另外,用户引用中提到了安装特定版本的包,比如scipy 1.7.2和usd-core 21.8,这可能意味着用户的项目需要特定版本的依赖,而Conda在默认情况下找不到这些版本。这时候可能需要手动添加渠道或者使用灵活的版本指定方式。 可能的解决步骤包括: 1. 检查环境文件中的渠道配置,添加必要的渠道如conda-forge、pytorch、nvidia等。 2. 使用conda env create命令时显式指定渠道,例如加上-c参数。 3. 对于某些包,可能需要使用pip安装,特别是当它们不在Conda仓库中时,比如某些PyTorch版本。 4. 如果某些包版本太旧或不存在,可以尝试移除版本限制,让Conda自动选择兼容的版本。 5. 使用mamba作为更快的依赖解析工具,因为它可能更有效地处理复杂的依赖关系。 此外,用户提到的CUDA兼容性问题(引用1)可能表明需要正确安装与PyTorch版本匹配的CUDA工具包。例如,如果用户的GPU是A40(sm_86架构),需要PyTorch版本支持CUDA 11.x或更高,而用户当前安装的可能不支持。因此,在安装cudatoolkit时,需要确保版本与PyTorch兼容。 另一个可能的错误来源是环境文件中使用了错误的包名称或版本。例如,某些包在Conda中的名称可能不同,或者需要从特定渠道安装。例如,pytorch和torchvision通常需要从pytorch渠道安装,而cudatoolkit可能需要从nvidia或conda-forge。 用户引用4提到了解决environment.yml错误的办法,可能需要手动调整环境文件中的依赖项,或者使用conda-lock等工具生成精确的依赖列表。另外,分步安装而不是一次性创建环境可能有助于隔离问题包。 总结一下,解决步骤可能包括: - 修改环境文件,添加必要的渠道。 - 使用conda-forge作为主要渠道。 - 分步安装关键包,特别是PyTorch和相关库。 - 使用pip安装Conda中不可用的包。 - 检查包版本兼容性,尤其是CUDA和PyTorch的版本匹配。 - 使用mamba加快解析过程。 需要确保用户的环境文件正确配置,并且所有依赖项都能从指定的渠道中找到。如果仍然遇到问题,可能需要逐个安装缺失的包,或者寻找替代的包名称和版本。</think>### Conda环境创建出现ResolvePackageNotFound问题的解决方案 当遇到`ResolvePackageNotFound`错误时,通常是由于以下原因导致: 1. 包名称或版本在默认Conda渠道中不存在 2. 未添加必要的第三方渠道(如conda-forge、pytorch等) 3. 包版本与Python版本或其他依赖项不兼容 #### 一、基础解决方法 1. **添加必要渠道** 修改`environment.yml`文件头部添加渠道声明: ```yaml channels: - defaults - conda-forge - pytorch ``` 执行命令时显式指定渠道: ```bash conda env create -f environment.yml -n your_env_name -c conda-forge -c pytorch ``` 2. **替换包来源** 将部分包改为通过pip安装(在yml文件中添加`pip`依赖项): ```yaml dependencies: - python=3.8 - pip: - torch==1.12.1+cu113 - torchvision==0.13.1+cu113 ``` 3. **使用版本通配符** 对于版本冲突的包,可修改版本约束: ```yaml # 原配置 - pytorch==1.12.1 # 改为 - pytorch>=1.12 ``` #### 二、针对CUDA相关依赖的特殊处理 若涉及GPU相关包(如`cudatoolkit`、`pytorch`),需确保版本匹配: ```yaml dependencies: - cudatoolkit=11.3 - pytorch=1.12.1=py3.8_cuda11.3_cudnn8_0 - torchvision=0.13.1=py38_cu113 ``` > 可通过PyTorch官网验证版本兼容性:[https://pytorch.org/get-started/previous-versions/](https://pytorch.org/get-started/previous-versions/)[^2] #### 三、使用加速工具 安装`mamba`提升依赖解析速度: ```bash conda install -n base mamba mamba env create -f environment.yml ``` #### 四、分步安装法 当yml文件无法直接创建时,可手动安装核心包: ```bash conda create -n temp_env python=3.8 conda activate temp_env conda install pytorch torchvision cudatoolkit=11.3 -c pytorch ``` #### 五、典型错误排查 1. **NVIDIA驱动问题** 若出现`CUDA capability sm_86`警告,说明当前PyTorch版本不支持A40显卡: ```bash # 需安装CUDA 11.x对应的版本 pip install torch==1.12.1+cu113 --extra-index-url https://download.pytorch.org/whl/cu113 ``` 2. **包名修正示例** ```yaml # 错误配置 - gmp # 正确配置(通过conda-forge) - gmp=6.2.1=he4a3231_2 ``` > 建议通过`conda search <package>`验证包是否存在[^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值