python - conda 卸载和安装时软件包不匹配
问题描述
有一个ImportError
when 打开jupyter notebook
,所以我跟着这里跑conda uninstall pyzmq
-> conda install pyzmq
。
因为人们说“不要在 conda 环境下混淆和命令”,所以我使用conda
而不是。pip
conda
pip
然后我开始意识到包conda uninstall pyzmq
和包conda 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
应该安装和卸载完全对应的包,只要环境没有被破坏。
我的环境已经坏了,可能是因为我pip
以前安装了一些jupyter
相关的包(你可以看到一些包是py_0
通过pip install
.)安装的。
我对 Anaconda 还是很陌生,如果您有任何技巧可以更好地管理 conda 环境以最大程度地降低环境损坏的风险,非常感谢您的建议。
我花了整整一周的时间试图弄清楚它们是如何工作的,这就是我得到的(现在)。
确保在创建环境时指定 Anaconda 支持的 python 版本。
选中此处并在conda create -n my_env python==version
.确保在创建环境时还安装了所有已知的必需包。
conda create -n my_env python=version package_A, package_B ...
正如官方文档所说“在这个环境中同时安装你想要的所有程序。一次安装1个程序会导致依赖冲突。 ”确保您完全了解做什么
conda install/uninstall
和pip 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
推荐阅读
- sql - 仅在满足条件时才使用 CHECK 语句
- python-xarray - Xarray - 在不同空间区域上定义的合并集
- python-3.x - 带有导航抽屉的 kivy 屏幕中未显示标签
- java - 是否可以在 VSCode 中进行 JAR 运行配置,如果可以,如何?
- webrtc - WebRTC可以用于IOT的后端数据传输吗?
- r - R Shiny Question --> Dynamicly Sort DataTable (Top/Bottom)
- unity3d - PUN2:这是否推荐用于刚体同步状态和碰撞?
- python - 使用外部变量在 Python 中创建静态函数
- python - 对单个 .txt 文件 python 的多个 str 编辑
- postgresql - 使用 postgres 防止 Node-red 转义字符串