conda环境下conda和pip安装同一个库 | import 优先级问题探讨
【摘要】
墨理三生
conda环境下conda和pip安装同一个库 | import 优先级问题探讨产生这个问题的原因具体验证过程如下print(torch.__version__) | print(to...
conda环境下conda和pip安装同一个库 | import 优先级问题探讨
【这是一个偶然性问题,通常不会遇到】
产生这个问题的原因
- 一个独立 conda环境 ,使用 conda 和 pip 都安装了 torch ,实测发现 实际 import torch 使用的是 conda 安装的 torch
具体验证过程如下
激活一个 conda 环境
conda activate tf25
- 1
pip list 查看安装的库 ,发现安装有 torch 1.8.1+cu111
pip list
Package Version
----------------------- ----------------------
absl-py 0.13.0
appdirs 1.4.4
astunparse 1.6.3
attrs 21.2.0
cached-property 1.5.2
cachetools 4.2.2
certifi 2021.5.30
chardet 4.0.0
cycler 0.10.0
flatbuffers 1.12
gast 0.4.0
google-auth 1.31.0
google-auth-oauthlib 0.4.4
google-pasta 0.2.0
grpcio 1.34.1
h5py 3.1.0
idna 2.10
importlib-metadata 4.5.0
iniconfig 1.1.1
keras-nightly 2.5.0.dev2021032900
Keras-Preprocessing 1.1.2
kiwisolver 1.3.1
lmdb 1.2.1
Mako 1.1.4
Markdown 3.3.4
MarkupSafe 2.0.1
matplotlib 3.4.2
mkl-fft 1.3.0
mkl-random 1.2.1
mkl-service 2.4.0
numpy 1.20.2
nvidia-cublas 11.5.1.101
nvidia-cuda-nvrtc 11.3.58
nvidia-cuda-runtime 11.3.58
nvidia-cudnn 8.2.0.51
nvidia-pyindex 1.0.9
nvidia-tensorrt 8.0.0.3
oauthlib 3.1.1
olefile 0.46
onnx 1.9.0
onnxruntime 1.8.0
opencv-python 4.5.3.56
opt-einsum 3.3.0
packaging 20.9
pandas 1.3.0
Pillow 8.3.1
pip 21.1.2
pluggy 0.13.1
protobuf 3.17.3
py 1.10.0
pyasn1 0.4.8
pyasn1-modules 0.2.8
pycuda 2021.1
pyparsing 2.4.7
pytest 6.2.4
python-dateutil 2.8.2
pytools 2021.2.7
pytz 2021.1
PyYAML 5.4.1
requests 2.25.1
requests-oauthlib 1.3.0
rsa 4.7.2
scipy 1.7.0
seaborn 0.11.1
setuptools 52.0.0.post20210125
six 1.16.0
tensorboard 2.5.0
tensorboard-data-server 0.6.1
tensorboard-plugin-wit 1.8.0
tensorflow-estimator 2.5.0
tensorflow-gpu 2.5.0
termcolor 1.1.0
toml 0.10.2
torch 1.8.1+cu111
torchaudio 0.8.1
torchvision 0.9.1+cu111
tqdm 4.61.1
tvm 0.8.dev1137+g34e9a4fd6
typing-extensions 3.10.0.0
urllib3 1.26.5
Werkzeug 2.0.1
wheel 0.36.2
wrapt 1.12.1
zipp 3.4.1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
conda list 查看安装的库 ,发现安装有 torch 1.8.1+cu111
conda list
# packages in environment at /home/墨理/anaconda3/envs/tf25:
#
# Name Version Build Channel
_libgcc_mutex 0.1 main
_openmp_mutex 4.5 1_gnu
absl-py 0.13.0 pypi_0 pypi
appdirs 1.4.4 pypi_0 pypi
astunparse 1.6.3 pypi_0 pypi
blas 1.0 mkl
ca-certificates 2021.7.5 h06a4308_1
cached-property 1.5.2 pypi_0 pypi
cachetools 4.2.2 pypi_0 pypi
certifi 2021.5.30 py37h06a4308_0
chardet 4.0.0 pypi_0 pypi
cudatoolkit 10.1.243 h6bb024c_0
cycler 0.10.0 pypi_0 pypi
flatbuffers 1.12 pypi_0 pypi
freetype 2.10.4 h5ab3b9f_0
gast 0.4.0 pypi_0 pypi
google-auth 1.31.0 pypi_0 pypi
google-auth-oauthlib 0.4.4 pypi_0 pypi
google-pasta 0.2.0 pypi_0 pypi
grpcio 1.34.1 pypi_0 pypi
h5py 3.1.0 pypi_0 pypi
idna 2.10 pypi_0 pypi
importlib-metadata 4.5.0 pypi_0 pypi
iniconfig 1.1.1 pypi_0 pypi
intel-openmp 2021.2.0 h06a4308_610
jpeg 9b h024ee3a_2
keras-nightly 2.5.0.dev2021032900 pypi_0 pypi
keras-preprocessing 1.1.2 pypi_0 pypi
kiwisolver 1.3.1 pypi_0 pypi
lcms2 2.12 h3be6417_0
ld_impl_linux-64 2.35.1 h7274673_9
libedit 3.1.20210216 h27cfd23_1
libffi 3.2.1 hf484d3e_1007
libgcc-ng 9.3.0 h5101ec6_17
libgomp 9.3.0 h5101ec6_17
libpng 1.6.37 hbc83047_0
libstdcxx-ng 9.3.0 hd4cf53a_17
libtiff 4.2.0 h85742a9_0
libuv 1.40.0 h7b6447c_0
libwebp-base 1.2.0 h27cfd23_0
lmdb 1.2.1 pypi_0 pypi
lz4-c 1.9.3 h2531618_0
mako 1.1.4 pypi_0 pypi
markdown 3.3.4 pypi_0 pypi
markupsafe 2.0.1 pypi_0 pypi
matplotlib 3.4.2 pypi_0 pypi
mkl 2021.2.0 h06a4308_296
mkl-service 2.4.0 py37h7f8727e_0
mkl_fft 1.3.0 py37h42c9631_2
mkl_random 1.2.1 py37ha9443f7_2
ncurses 6.2 he6710b0_1
ninja 1.10.2 hff7bd54_1
numpy 1.19.5 pypi_0 pypi
numpy-base 1.20.2 py37hfae3a4d_0
nvidia-cublas 11.5.1.101 pypi_0 pypi
nvidia-cuda-nvrtc 11.3.58 pypi_0 pypi
nvidia-cuda-runtime 11.3.58 pypi_0 pypi
nvidia-cudnn 8.2.0.51 pypi_0 pypi
nvidia-tensorrt 8.0.0.3 pypi_0 pypi
oauthlib 3.1.1 pypi_0 pypi
olefile 0.46 py37_0
onnx 1.9.0 pypi_0 pypi
onnxruntime 1.8.0 pypi_0 pypi
opencv-python 4.5.3.56 pypi_0 pypi
openjpeg 2.3.0 h05c96fa_1
openssl 1.1.1k h27cfd23_0
opt-einsum 3.3.0 pypi_0 pypi
packaging 20.9 pypi_0 pypi
pandas 1.3.0 pypi_0 pypi
pillow 8.2.0 pypi_0 pypi
pip 21.1.2 py37h06a4308_0
pluggy 0.13.1 pypi_0 pypi
protobuf 3.17.3 pypi_0 pypi
py 1.10.0 pypi_0 pypi
pyasn1 0.4.8 pypi_0 pypi
pyasn1-modules 0.2.8 pypi_0 pypi
pycuda 2021.1 pypi_0 pypi
pyparsing 2.4.7 pypi_0 pypi
pytest 6.2.4 pypi_0 pypi
python 3.7.6 h0371630_2
python-dateutil 2.8.2 pypi_0 pypi
pytools 2021.2.7 pypi_0 pypi
pytorch 1.7.1 py3.7_cuda10.1.243_cudnn7.6.3_0 pytorch
pytz 2021.1 pypi_0 pypi
pyyaml 5.4.1 pypi_0 pypi
readline 7.0 h7b6447c_5
requests 2.25.1 pypi_0 pypi
requests-oauthlib 1.3.0 pypi_0 pypi
rsa 4.7.2 pypi_0 pypi
scipy 1.7.0 pypi_0 pypi
seaborn 0.11.1 pypi_0 pypi
setuptools 52.0.0 py37h06a4308_0
six 1.15.0 pypi_0 pypi
sqlite 3.33.0 h62c20be_0
tensorboard 2.5.0 pypi_0 pypi
tensorboard-data-server 0.6.1 pypi_0 pypi
tensorboard-plugin-wit 1.8.0 pypi_0 pypi
tensorflow-estimator 2.5.0 pypi_0 pypi
tensorflow-gpu 2.5.0 pypi_0 pypi
termcolor 1.1.0 pypi_0 pypi
tk 8.6.10 hbc83047_0
toml 0.10.2 pypi_0 pypi
torch 1.8.1+cu111 pypi_0 pypi
torchaudio 0.8.1 pypi_0 pypi
torchvision 0.9.1+cu111 pypi_0 pypi
tqdm 4.61.1 pypi_0 pypi
typing-extensions 3.7.4.3 pypi_0 pypi
typing_extensions 3.10.0.0 pyh06a4308_0
urllib3 1.26.5 pypi_0 pypi
werkzeug 2.0.1 pypi_0 pypi
wheel 0.36.2 pyhd3eb1b0_0
wrapt 1.12.1 pypi_0 pypi
xz 5.2.5 h7b6447c_0
zipp 3.4.1 pypi_0 pypi
zlib 1.2.11 h7b6447c_3
zstd 1.4.9 haebb681_0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
print(torch.version) | print(torchvision.version) 进行验证
python
Python 3.7.6 (default, Jan 8 2020, 19:59:22)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.__version__)
1.7.1
>>>
>>> import torchvision
>>> print(torchvision.__version__)
0.8.2
>>>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
回想原因
tf25 这个 conda 环境 库安装过程中,我先后执行了如下两个命令
pip3 install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html
# 没有手动执行 uninstall 操作
# CUDA 10.1
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch
- 1
- 2
- 3
- 4
- 5
- 6
如何调节邻里矛盾
pip uninstall torch
# 各家自扫门前雪 | 谁也管不着谁
conda uninstall torch
- 1
- 2
- 3
- 4
- 5
结论 | 欢迎探讨
在上一步骤的验证中,可以发现很显然 代码实际 使用的是 CUDA 安装的 pytorch1.7.1 torchvision0.8.2
因此本博文此处结论如下
pip 和 conda 安装同一个库情况下,conda 环境下 代码import 时 conda 库的 匹配优先级较高
通常 conda install 其它版本库时,会先默认卸载 安装过的版本库,然而这里发生了意外,导致 xx list 呈现出的和实际 import 调用的 版本不一致问题
文章来源: positive.blog.csdn.net,作者:墨理学AI,版权归原作者所有,如需转载,请联系作者。
原文链接:positive.blog.csdn.net/article/details/118809179
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)