卸载和安装conda时软件包不匹配

小山进二

ImportError打开时出现了一个jupyter notebook所以我跟随这里运行conda uninstall pyzmq-> conda install pyzmq

我使用它conda不是pip因为人们说“不要在conda环境下混淆condapip命令”

后来我才明白该包conda uninstall pyzmqconda install pyzmq不同:

  • conda uninstall pyzmq; 移除19个包装
  • conda install pyzmq; 安装3个软件包

为什么通过相同的conda命令安装和卸载的软件包不同?
他们不应该安装并重新安装完全对应的软件包吗?

我仍然很陌生Anaconda,如果您有任何技巧可以改善conda环境管理,以最大程度地减少破坏环境的风险,我们将不胜感激。


什么时候 conda uninstall

(my_env) C:\Users\koyamashinji>conda uninstall pyzmq
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##
  environment location: C:\Users\koyamashinji\anaconda3\envs\my_env
  removed specs:
    - pyzmq

The following packages will be REMOVED:

  colorama-0.4.4-py_0
  decorator-4.4.2-py_0
  ipykernel-5.3.4-py36h5ca1d4c_0
  ipython-5.8.0-py36_1
  ipython_genutils-0.2.0-pyhd3eb1b0_1
  jupyter_client-6.1.7-py_0
  jupyter_core-4.7.0-py36haa95532_0
  libsodium-1.0.18-h62dcd97_0
  pickleshare-0.7.5-pyhd3eb1b0_1003
  prompt_toolkit-1.0.15-py_1
  pygments-2.7.2-pyhd3eb1b0_0
  python-dateutil-2.8.1-py_0
  pywin32-227-py36he774522_1
  pyzmq-20.0.0-py36hd77b12b_1
  simplegeneric-0.8.1-py36_2
  tornado-6.1-py36h2bbff1b_0
  traitlets-4.3.3-py36_0
  wcwidth-0.2.5-py_0
  zeromq-4.3.3-ha925a31_3

什么时候 conda install

(my_env) C:\Users\koyamashinji>conda install pyzmq
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\koyamashinji\anaconda3\envs\my_env

  added / updated specs:
    - pyzmq


The following NEW packages will be INSTALLED:

  libsodium          pkgs/main/win-64::libsodium-1.0.18-h62dcd97_0
  pyzmq              pkgs/main/win-64::pyzmq-20.0.0-py36hd77b12b_1
  zeromq             pkgs/main/win-64::zeromq-4.3.3-ha925a31_3
小山进二

为什么通过相同的conda命令安装和卸载的软件包不同? 他们不应该安装并重新安装完全对应的软件包吗?

conda install只要环境尚未损坏,就conda uninstall应该安装和卸载完全对应的软件包我的环境已经损坏,可能是因为我以前曾经安装过一些相关的软件包(如您所见,有些软件包是通过进行安装的。)
pipjupyterpy_0pip install


我对Anaconda还是很陌生,如果您有任何技巧可以更好地管理conda envs,以最大程度地减少损坏envs的风险,则非常感谢您的建议。

我花了整整一周的时间来弄清楚它们是如何工作的,这就是我现在所得到的。

  • 确保在创建环境时指定Anaconda支持的python版本。在此处
    检查并指定python版本conda create -n my_env python==version

  • 确保在创建环境时也安装了所有已知的必需软件包
    conda create -n my_env python=version package_A, package_B ...
    官方文档所述:“在此环境中同时安装所需的所有程序。一次安装1个程序可能会导致依赖关系冲突。

  • 请确保你理解什么conda install/uninstallpip install/uninstall做。

conda install/uninstall

(my_env) C:\Users> conda install package_A  

# Installs : package_A + dependencies(dependency_1, dependency_2, dependency_3)
  

(my_env) C:\Users> conda uninstall package_A

# Uninstalls : package_A + dependencies(dependency_1, dependency_2, dependency_3)
(my_env) C:\Users> conda install package_A

# Installs : package_A + dependencies(dependency_1, dependency_2, dependency_3)    
  

(my_env) C:\Users> conda uninstall dependency_1

# Uninstalls : package_A + dependencies(dependency_1, dependency_2, dependency_3)

pip install/uninstall

(my_env) C:\Users> pip install package_A  

# Installs : package_A + dependencies(dependency_1, dependency_2, dependency_3)
  

(my_env) C:\Users> pip uninstall package_A

# Uninstalls : package_A ONLY
(my_env) C:\Users> pip install package_A

# Installs : package_A + dependencies(dependency_1, dependency_2, dependency_3)    
  

(my_env) C:\Users> pip uninstall dependency_1

# Uninstalls : dependency_1 ONLY

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章