簡體   English   中英

conda 卸載和安裝時軟件包不匹配

[英]Packages don't match when conda uninstall and install

打開jupyter notebook時出現ImportError ,所以我跟着這里運行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 installconda uninstall應該安裝和卸載完全對應的包,只要環境沒有被破壞
我的環境已經壞了,可能是因為我之前使用pip安裝了一些jupyter相關的包(你可以看到一些包是py_0 ,這意味着它們是通過pip install的。)


我對 Anaconda 還是很陌生,如果您有任何技巧可以更好地管理 conda 環境以最大程度地降低環境損壞的風險,非常感謝您的建議。

我花了整整一周的時間試圖弄清楚它們是如何工作的,這就是我得到的(現在)。

  • 確保在創建環境時指定 Anaconda 支持的 python 版本。
    選中此處並在 conda conda create -n my_env python==version時指定 python 版本。

  • 確保在創建環境時還安裝了所有已知的必需包
    conda create -n my_env python=version package_A, package_B...
    正如官方文檔所說“在這個環境中同時安裝你想要的所有程序。一次安裝1個程序會導致依賴沖突。

  • 確保您完全了解 conda 安裝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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM