前提
- Windows 10
- Anacondaで仮想環境を構築しpythonを使用
知りたいこと
Anaconda
の仮想環境の中でエラーが発生し、特定のパッケージを一度アンインストール → 再度インストールしたい場合、
conda uninstall [パッケージ名]
で対象になるモジュールと
conda install [パッケージ名]
で対象になるモジュールが異なる場合があります。
そのため、これらを実行すると、パッケージ間の依存関係が壊れてしまうことがあります。
特定のパッケージをapple to appleでアンインストール+再インストールする方法はないでしょうか。
また、Anacondaで仮想環境を構築している皆様、依存関係を壊さないよう、どのようにパッケージ管理されていますか?
コツがあったら教えてください。
下名思いつくのはPip
コマンドをできるだけ使わないようにすることくらいです。
例
pyzmq
というパッケージを一度アンインストール → 再度インストール
- アンインストール時:19個のパッケージがREMOVEされている
- インストール時:3個のパッケージしかINSTALLされていない
例えば、ipykernel
(★)は、再インストールされない。
同環境内で別のパッケージがipykernel
を使用していた場合、ModuleNotFoundError: ipykernel
となってしまう。
Uninstall
1(my_env) C:\Users\koyamashinji>conda uninstall pyzmq 2Collecting package metadata (repodata.json): done 3Solving environment: done 4 5## Package Plan ## 6 environment location: C:\Users\koyamashinji\anaconda3\envs\my_env 7 removed specs: 8 - pyzmq 9 10The following packages will be REMOVED: 11 12 colorama-0.4.4-py_0 13 decorator-4.4.2-py_0 14 ipykernel-5.3.4-py36h5ca1d4c_0 (★) 15 ipython-5.8.0-py36_1 16 ipython_genutils-0.2.0-pyhd3eb1b0_1 17 jupyter_client-6.1.7-py_0 18 jupyter_core-4.7.0-py36haa95532_0 19 libsodium-1.0.18-h62dcd97_0 20 pickleshare-0.7.5-pyhd3eb1b0_1003 21 prompt_toolkit-1.0.15-py_1 22 pygments-2.7.2-pyhd3eb1b0_0 23 python-dateutil-2.8.1-py_0 24 pywin32-227-py36he774522_1 25 pyzmq-20.0.0-py36hd77b12b_1 26 simplegeneric-0.8.1-py36_2 27 tornado-6.1-py36h2bbff1b_0 28 traitlets-4.3.3-py36_0 29 wcwidth-0.2.5-py_0 30 zeromq-4.3.3-ha925a31_3
Install
1(my_env) C:\Users\koyamashinji>conda install pyzmq 2Collecting package metadata (current_repodata.json): done 3Solving environment: done 4 5## Package Plan ## 6 7 environment location: C:\Users\koyamashinji\anaconda3\envs\my_env 8 9 added / updated specs: 10 - pyzmq 11 12 13The following NEW packages will be INSTALLED: 14 15 libsodium pkgs/main/win-64::libsodium-1.0.18-h62dcd97_0 16 pyzmq pkgs/main/win-64::pyzmq-20.0.0-py36hd77b12b_1 17 zeromq pkgs/main/win-64::zeromq-4.3.3-ha925a31_3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。