conda环境下conda和pip安装同一个库 | import 优先级问题探讨

墨理三生

    • conda环境下conda和pip安装同一个库 | import 优先级问题探讨
        • 产生这个问题的原因
        • 具体验证过程如下
        • print(torch.__version__) | print(torchvision.__version__) 进行验证
        • 回想原因
        • 如何调节邻里矛盾
    • 结论 | 欢迎探讨


conda环境下conda和pip安装同一个库 | import 优先级问题探讨


【这是一个偶然性问题,通常不会遇到】

1-9


产生这个问题的原因

  • 一个独立 conda环境 ,使用 conda 和 pip 都安装了 torch ,实测发现 实际 import torch 使用的是 conda 安装的 torch

具体验证过程如下

激活一个 conda 环境

conda activate tf25

pip list 查看安装的库 ,发现安装有 torch 1.8.1+cu111

pip listPackage                 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

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  
print(torch.version) | print(torchvision.version) 进行验证
pythonPython 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
>>> 
回想原因

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
如何调节邻里矛盾
pip uninstall torch# 各家自扫门前雪 | 谁也管不着谁conda uninstall torch

结论 | 欢迎探讨


在上一步骤的验证中,可以发现很显然 代码实际 使用的是 CUDA 安装的 pytorch1.7.1 torchvision0.8.2
因此本博文此处结论如下

pip 和 conda 安装同一个库情况下,conda 环境下 代码import 时 conda 库的 匹配优先级较高

通常 conda install 其它版本库时,会先默认卸载 安装过的版本库,然而这里发生了意外,导致 xx list 呈现出的和实际 import 调用的 版本不一致问题

9-9



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部