2025.7.17学习日记
1.YML配置环境
今天学习到了一种新式配置python环境的方法,例如在GitHub上的开源项目SAR3D中,装上这个环境的步骤比较长,我们采用逐步装环境法.将dependencies和pip的部分分离,对于dependencies,测试的效果如下:
- PLAN_A
- defaults:
首先在默认的阿里源下,缺失的模块包括如下,耗时为29s
ResolvePackageNotFound:
- decorator==5.1.1=pyhd8ed1ab_0
- toml==0.10.2=pyhd8ed1ab_0
- openexr-python==1.3.9=py39hbd9bb45_1
- zlib==1.2.13=h166bdaf_4
- _libgcc_mutex==0.1=conda_forge
- executing==2.0.1=pyhd8ed1ab_0
- libstdcxx-ng==12.2.0=h46fd767_19
- cuda-runtime==11.7.1=0
- conda-pack==0.8.0=pyhd8ed1ab_0
- _openmp_mutex==4.5=2_kmp_llvm
- ptyprocess==0.7.0=pyhd3deb0d_0
- cuda-libraries==11.7.1=0
- certifi==2024.7.4=pyhd8ed1ab_0
- libcublas==11.10.3.66=0
- libnvjpeg==11.8.0.2=0
- ilmbase==2.5.5=h780b84a_0
- libcurand==10.3.2.56=0
- libcusparse==11.7.4.91=0
- libgcc-ng==12.2.0=h65d4601_19
- python_abi==3.9=2_cp39
- cuda-cupti==11.7.101=0
- typing_extensions==4.12.2=pyha770c72_0
- cuda-nvrtc==11.7.99=0
- llvm-openmp==16.0.1=h417c0b6_0
- libcufile==1.6.0.25=0
- libnpp==11.7.4.75=0
- libcusolver==11.4.0.1=0
- ca-certificates==2024.7.4=hbcca054_0
- pure_eval==0.2.2=pyhd8ed1ab_0
- openexr==3.1.7=h5c7bc04_0
- libzlib==1.2.13=h166bdaf_4
- asttokens==2.4.1=pyhd8ed1ab_0
- openssl==1.1.1w=hd590300_0
- pickleshare==0.7.5=py_1003
- imath==3.1.7=h3eb15da_1
- stack_data==0.6.2=pyhd8ed1ab_0
- libcufft==10.7.2.124=h4fbf590_0
- cuda-nvtx==11.7.91=0
- cuda-cudart==11.7.99=0
- defaults+pytorch:
加上pytorch源,缺失的模块如下,耗时为31s
ResolvePackageNotFound:
- llvm-openmp==16.0.1=h417c0b6_0
- libcublas==11.10.3.66=0
- certifi==2024.7.4=pyhd8ed1ab_0
- ptyprocess==0.7.0=pyhd3deb0d_0
- openssl==1.1.1w=hd590300_0
- pure_eval==0.2.2=pyhd8ed1ab_0
- libcusolver==11.4.0.1=0
- executing==2.0.1=pyhd8ed1ab_0
- cuda-cupti==11.7.101=0
- python_abi==3.9=2_cp39
- libzlib==1.2.13=h166bdaf_4
- cuda-runtime==11.7.1=0
- typing_extensions==4.12.2=pyha770c72_0
- cuda-nvrtc==11.7.99=0
- pickleshare==0.7.5=py_1003
- libnvjpeg==11.8.0.2=0
- cuda-nvtx==11.7.91=0
- openexr-python==1.3.9=py39hbd9bb45_1
- libcufft==10.7.2.124=h4fbf590_0
- libnpp==11.7.4.75=0
- _openmp_mutex==4.5=2_kmp_llvm
- stack_data==0.6.2=pyhd8ed1ab_0
- cuda-cudart==11.7.99=0
- _libgcc_mutex==0.1=conda_forge
- libcurand==10.3.2.56=0
- libstdcxx-ng==12.2.0=h46fd767_19
- cuda-libraries==11.7.1=0
- libgcc-ng==12.2.0=h65d4601_19
- conda-pack==0.8.0=pyhd8ed1ab_0
- ilmbase==2.5.5=h780b84a_0
- decorator==5.1.1=pyhd8ed1ab_0
- imath==3.1.7=h3eb15da_1
- zlib==1.2.13=h166bdaf_4
- libcusparse==11.7.4.91=0
- asttokens==2.4.1=pyhd8ed1ab_0
- libcufile==1.6.0.25=0
- toml==0.10.2=pyhd8ed1ab_0
- ca-certificates==2024.7.4=hbcca054_0
- openexr==3.1.7=h5c7bc04_0
- defaults+pytorch+nvidia:
加上nvidia源后,缺失的模块如下,耗时为32s
ResolvePackageNotFound:
- libzlib==1.2.13=h166bdaf_4
- ca-certificates==2024.7.4=hbcca054_0
- certifi==2024.7.4=pyhd8ed1ab_0
- asttokens==2.4.1=pyhd8ed1ab_0
- zlib==1.2.13=h166bdaf_4
- libstdcxx-ng==12.2.0=h46fd767_19
- ilmbase==2.5.5=h780b84a_0
- openssl==1.1.1w=hd590300_0
- stack_data==0.6.2=pyhd8ed1ab_0
- openexr-python==1.3.9=py39hbd9bb45_1
- pure_eval==0.2.2=pyhd8ed1ab_0
- pickleshare==0.7.5=py_1003
- toml==0.10.2=pyhd8ed1ab_0
- ptyprocess==0.7.0=pyhd3deb0d_0
- _openmp_mutex==4.5=2_kmp_llvm
- executing==2.0.1=pyhd8ed1ab_0
- imath==3.1.7=h3eb15da_1
- conda-pack==0.8.0=pyhd8ed1ab_0
- python_abi==3.9=2_cp39
- _libgcc_mutex==0.1=conda_forge
- libgcc-ng==12.2.0=h65d4601_19
- openexr==3.1.7=h5c7bc04_0
- decorator==5.1.1=pyhd8ed1ab_0
- typing_extensions==4.12.2=pyha770c72_0
- llvm-openmp==16.0.1=h417c0b6_0
- defaults+pytorch+nvidia+conda-forge:
加上conda-forge源后,没有缺失但是被kill掉了,说明内存不够(你的内存必须大于2G),需要开启显卡模式,开启完显卡模式后,无缺失模块,正常进入安装程序,但是由于耗时太久,煮啵另寻出路去了
【注】:这边会报两个警告,首先是*匹配所有版本的这个警告,被废弃了,其次是要我们升级conda,均可以忽略
- PLAN_B
- 属于conda-forge源的环境安装
感觉是由于检索源文件(repodata.json)的难度比较大,所以环境安装起来会比较困难,这里我找到了清华源中有关conda-forge的镜像,成功安装完成,耗时2min左右,编写如下文件
# 文件名为conda-forge-envs.yml
name: sar3d
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64
dependencies:
- libzlib==1.2.13=h166bdaf_4
- ca-certificates==2024.7.4=hbcca054_0
- certifi==2024.7.4=pyhd8ed1ab_0
- asttokens==2.4.1=pyhd8ed1ab_0
- zlib==1.2.13=h166bdaf_4
- libstdcxx-ng==12.2.0=h46fd767_19
- ilmbase==2.5.5=h780b84a_0
- openssl==1.1.1w=hd590300_0
- stack_data==0.6.2=pyhd8ed1ab_0
- openexr-python==1.3.9=py39hbd9bb45_1
- pure_eval==0.2.2=pyhd8ed1ab_0
- pickleshare==0.7.5=py_1003
- toml==0.10.2=pyhd8ed1ab_0
- ptyprocess==0.7.0=pyhd3deb0d_0
- _openmp_mutex==4.5=2_kmp_llvm
- executing==2.0.1=pyhd8ed1ab_0
- imath==3.1.7=h3eb15da_1
- conda-pack==0.8.0=pyhd8ed1ab_0
- python_abi==3.9=2_cp39
- _libgcc_mutex==0.1=conda_forge
- libgcc-ng==12.2.0=h65d4601_19
- openexr==3.1.7=h5c7bc04_0
- decorator==5.1.1=pyhd8ed1ab_0
- typing_extensions==4.12.2=pyha770c72_0
- llvm-openmp==16.0.1=h417c0b6_0
直接运行conda env create -f conda-forge-envs.yml,等待2-3min左右即可安装成功
- 属于nvidia源的环境安装
下面是属于nvidia源的包,建议利用.sh脚本进行增量增加,编写如下nvidia-envs.sh脚本
#!/bin/bash
conda install -n sar3d \
libcublas=11.10.3.66=0 \
libcusolver=11.4.0.1=0 \
cuda-cupti=11.7.101=0 \
cuda-runtime=11.7.1=0 \
cuda-nvrtc=11.7.99=0 \
libnvjpeg=11.8.0.2=0 \
cuda-nvtx=11.7.91=0 \
libcufft=10.7.2.124=h4fbf590_0 \
libnpp=11.7.4.75=0 \
cuda-cudart=11.7.99=0 \
libcurand=10.3.2.56=0 \
cuda-libraries=11.7.1=0 \
libcusparse=11.7.4.91=0 \
libcufile=1.6.0.25=0 \
-y -c nvidia
echo "nvidia pkg installed"
直接运行bash nvidia-envs.sh,等待8min即可安装成功,貌似也有清华源,应该可以使用-c参数指定,清华源的地址为:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/
- 属于pytorch源的环境安装
下面是始于pytorch源的包,同理编写如下脚本,对比了一下发现完全一样,执行到上一条目就行了 - 属于defaults源的环境安装
这里大概4min
#!/bin/bash
conda install -n sar3d \
blas=1.0=mkl \
bzip2=1.0.8=h7b6447c_0 \
freetype=2.12.1=h4a9f257_0 \
gmp=6.2.1=h295c915_3 \
gnutls=3.6.15=he1e5248_0 \
lcms2=2.12=h3be6417_0 \
libffi=3.4.2=h6a678d5_6 \
libiconv=1.16=h7f8727e_2 \
libtasn1=4.16.0=h27cfd23_0 \
ncurses=6.4=h6a678d5_0 \
readline=8.2=h5eee18b_0 \
tk=8.6.12=h1ccaba5_0 \
xz=5.2.10=h5eee18b_1 \
zstd=1.5.2=ha4553b6_0\
python=3.9.16=h7a1cb2a_2 \
setuptools=65.6.3=py39h06a4308_0 \
wheel=0.38.4=py39h06a4308_0 \
sqlite=3.41.1=h5eee18b_0 \
pyopenssl=23.0.0=py39h06a4308_0 \
urllib3=1.26.14=py39h06a4308_0 \
brotlipy=0.7.0=py39h27cfd23_1003 \
cryptography=39.0.1=py39h9ce1e76_0 \
cffi=1.15.1=py39h5eee18b_3 \
pycparser=2.21=pyhd3eb1b0_0 \
six=1.16.0=pyhd3eb1b0_1 \
idna=3.4=py39h06a4308_0 \
charset-normalizer=2.0.4=pyhd3eb1b0_0 \
pysocks=1.7.1=py39h06a4308_0\
mkl=2021.4.0=h06a4308_640 \
mkl-service=2.4.0=py39h7f8727e_0 \
mkl_fft=1.3.1=py39hd3c417c_0 \
mkl_random=1.2.2=py39h51133e4_0 \
intel-openmp=2021.4.0=h06a4308_3561 \
gmpy2=2.1.2=py39heeb90bb_0 \
mpfr=4.0.2=hb69a4c5_1 \
mpc=1.1.0=h10f8cd9_1 \
mpmath=1.2.1=py39h06a4308_0 \
sympy=1.11.1=py39h06a4308_0 \
networkx=2.8.4=py39h06a4308_1\
ffmpeg=4.3=hf484d3e_0 \
openh264=2.1.1=h4ff587b_0 \
lame=3.100=h7b6447c_0 \
giflib=5.2.1=h5eee18b_3 \
jpeg=9e=h5eee18b_1 \
libpng=1.6.39=h5eee18b_0 \
libtiff=4.5.0=h6a678d5_2 \
libwebp=1.2.4=h11a3e52_1 \
libwebp-base=1.2.4=h5eee18b_1 \
pillow=9.4.0=py39h6a678d5_0\
pytorch=2.0.0=py3.9_cuda11.7_cudnn8.5.0_0 \
torchvision=0.15.0=py39_cu117 \
torchaudio=2.0.0=py39_cu117 \
pytorch-cuda=11.7=h778d358_3 \
pytorch-mutex=1.0=cuda \
torchtriton=2.0.0=py39\
filelock=3.9.0=py39h06a4308_0 \
flit-core=3.8.0=py39h06a4308_0 \
jinja2=3.1.2=py39h06a4308_0 \
markupsafe=2.1.1=py39h7f8727e_0 \
ld_impl_linux-64=2.38=h1181459_1 \
lerc=3.0=h295c915_0 \
libdeflate=1.17=h5eee18b_0 \
libidn2=2.3.2=h7f8727e_0 \
libunistring=0.9.10=h27cfd23_0 \
lz4-c=1.9.4=h6a678d5_0 \
nettle=3.7.3=hbbd107a_1\
-y

浙公网安备 33010602011771号