こんなときに
AnacondaでPythonのパッケージ管理をしていると、必ずどこかでinstallやライブラリの読み込みでエラーが出てきますよね。
pipと混ぜてしまったり、別のエラーの対応中に触ってはいけない箇所をいじってしまったり…いろいろ原因はあると思います。
エラーをもとにググって解決するのも大切ですが、一向に解決する気配がないときは潔く諦めて、Anaconda自体を再度インストールするのが早かったりします。
再インストールの方法自体は他の記事でたくさん見つかりますが、「Anacondaのアンインストール前にしておくとよいこと」という点でまとめたものは見かけなかったので、自分のメモとともに残しておきます。
(また再インストールするかもしれませんからね…)
アンインストールする前にしておくこと
さっそくアンインストールをする前にしておいたらよいことをまとめていきます。
以下、コマンドの出力はあくまで一例として、実際は各自の環境によると思うので、適宜読み替えて下さい。
install済みのライブラリをメモしておく
% conda list
今までインストールしてきたパッケージのリストが得られます。
新しい環境で必要なパッケージを入れるときに、入れ忘れたものがないか確認できます
仮想環境のメモ
% conda info -e
# conda environments:
#
base * /Users/yamada/anaconda3
Metaseq /Users/yamada/anaconda3/envs/Metaseq
garminexport /Users/yamada/anaconda3/envs/garminexport
kivy_202002 /Users/yamada/anaconda3/envs/kivy_202002
これまで作成した仮想環境の名前とパスのリストが得られます。
アンインストールすると中身は削除されますが、自分がどのような環境を作ってきたか参考になるかもしれません。
JupyterLabにまつわるもの
installした拡張機能の確認
% jupyter labextension list
/Users/yamada/anaconda3/lib/python3.7/site-packages/notebook/services/kernels/kernelmanager.py:19: VisibleDeprecationWarning: zmq.eventloop.minitornado is deprecated in pyzmq 14.0 and will be removed.
Install tornado itself to use zmq with the tornado IOLoop.
from jupyter_client.session import Session
JupyterLab v1.2.6
Known labextensions:
app dir: /Users/yamada/anaconda3/share/jupyter/lab
@jupyterlab/git v0.9.0 enabled OK
@jupyterlab/google-drive v1.0.0 enabled OK
@jupyterlab/plotly-extension v1.0.0 enabled OK
@jupyterlab/toc v1.0.1 enabled OK
@krassowski/jupyterlab-lsp v0.7.1 enabled OK
@lckr/jupyterlab_variableinspector v0.4.0 enabled OK
dask-labextension v1.1.0 enabled OK
nbdime-jupyterlab v1.0.0 enabled OK
Uninstalled core extensions:
dask-labextension
JupyterLabにはいろんな拡張機能を入れることができて便利ですよね。
新しい環境でも同じものを忘れずに入れておきましょう。
設定ファイルをメモしておく
JupyterLabはAdvanced SettingsでJSON形式で様々な内容をカスタマイズできます。
メニューバー -> Settings -> Advanced Setting Editor
こちらも自分でカスタマイズした内容は残しておきたいですよね。
設定全体をexportする方法は分からなかったので、設定ごとにテキストをコピーしてメモ帳にでも残しておきます。
以下、設定項目ごとに自分のカスタマイズを貼っておきます。
1. extension manager
{
// Extension Manager
// @jupyterlab/extensionmanager-extension:plugin
// Extension manager settings.
// *********************************************
// Enabled Status
// Enables extension manager (requires Node.js/npm).
// WARNING: installing untrusted extensions may be unsafe.
"enabled": true
}
2. Notebook
{"codeCellConfig": {
"autoClosingBrackets": true,
"fontFamily": null,
"fontSize": null,
"lineHeight": null,
"lineNumbers": true,
"lineWrap": "off",
"matchBrackets": true,
"readOnly": false,
"insertSpaces": true,
"tabSize": 4,
"wordWrapColumn": 80,
"rulers": [],
"codeFolding": false
}}
3. Theme
{
// Theme
// @jupyterlab/apputils-extension:themes
// Theme manager settings.
// *************************************
// Selected Theme
// Application-level visual styling theme
"theme": "JupyterLab Dark"
}
アンインストールの前に残しておくものは大体これくらいですかね。
anacondaをアンインストールする
詳しい手順は他の方の記事をご覧下さい。
anaconda3
フォルダも削除anaconda-cleanの実行
# install
% conda install anaconda-clean
# 実行
% anaconda-clean
Delete .anaconda? (y/n): y
Backup directory: /Users/yamada/.anaconda_backup/2020-04-23T175501
Delete .conda? (y/n): y
Delete .condarc? (y/n): y
Delete .ipynb_checkpoints? (y/n): y
Delete .ipython? (y/n): y
Delete .jupyter? (y/n): y
Delete .matplotlib? (y/n): y
Delete .theano? (y/n): y
Homeフォルダ直下のAnacondaフォルダを完全削除
これだけではAnacondaの中身はなくなりません。
自身のAnaconda3フォルダのパスを確認して、削除します。
% rm -fr /Users/yamada/anaconda3
~/.bash_profileや~/.zshrcに書かれているパスを削除
# added by Anaconda3 5.3.1 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '~/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
\eval "$__conda_setup"
else
if [ -f "~/anaconda3/etc/profile.d/conda.sh" ]; then
. "~/anaconda3/etc/profile.d/conda.sh"
CONDA_CHANGEPS1=false conda activate base
else
\export PATH="~/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda init <<<
前にAnacondaをインストールした際に、自動で書き込まれたものです。
Macのversionによって、Catalina以降なら.zshrcに書き込まれているはずです。
Anaconda-Navigator.appの削除
GUIのアプリが残っているかもしれません。
Finderで検索して見つけて、削除しておきましょう。
別のフォルダに残っていたanaconda3
フォルダも削除
これは個人的な環境のせいだと思いますが、Homeディレクトリ以外にもanaconda3
のフォルダが見つかりました。
(Catalinaへのアップデートの影響?)
43GBほどもあり大きいですし、こちらも一旦ゴミ箱に移動し、最終的には削除しました。
ちなみに、アンインストールする前のAnaconda環境のフォルダの大きさは、60GBほどもありました。
anacondaを再度インストールする
これまた詳しい内容は別の記事を見てもらえたらいいので、簡単にやった内容をメモしておきます。
Anaconda Python/R Distribution - Free Download
公式のサイトからGUIベースのインストーラーまたはスクリプト形式のファイルをダウンロードして、実行します。
無事インストールが完了すると、~/.zshrc
にパスが書き込まれていました。
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/yamada/opt/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/yamada/opt/anaconda3/etc/profile.d/conda.sh" ]; then
. "/Users/yamada/opt/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/Users/yamada/opt/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
新しいanaconda3フォルダは、~/opt/anaconda3/
に出来ていました。
condaが動くか確認しておく
% conda
zsh: command not found: conda
% source ~/.zshrc
% conda
usage: conda [-h] [-V] command ...
conda is a tool for managing and deploying applications, environments and packages.
Options:
positional arguments:
command
clean Remove unused packages and caches.
config Modify configuration values in .condarc. This is modeled
after the git config command. Writes to the user .condarc
file (/Users/yamada/.condarc) by default.
create Create a new conda environment from a list of specified
packages.
help Displays a list of available conda commands and their help
strings.
info Display information about current conda install.
init Initialize conda for shell interaction. [Experimental]
install Installs a list of packages into a specified conda
environment.
list List linked packages in a conda environment.
package Low-level conda package utility. (EXPERIMENTAL)
remove Remove a list of packages from a specified conda environment.
uninstall Alias for conda remove.
run Run an executable in a conda environment. [Experimental]
search Search for packages and display associated information. The
input is a MatchSpec, a query language for conda packages.
See examples below.
update Updates conda packages to the latest compatible version.
upgrade Alias for conda update.
optional arguments:
-h, --help Show this help message and exit.
-V, --version Show the conda version number and exit.
conda commands available from other packages:
build
convert
debug
develop
env
index
inspect
metapackage
render
server
skeleton
verify
% conda --version
conda 4.8.2
~/.zshrcを読み込み直すと無事パスが設定され、動くようになりました。
初期のanaconda3フォルダの大きさは、6GBほどでした。
しばらく環境を放っておくといろいろとため込んで、肥大化してしまいますね...
新しいanaconda環境で最初にやること
さて、無事新しいcondaコマンドも動いたので、環境を整えておきましょう。
パッケージをすべてupdateしておく
デフォルトでインストールされているPythonのパッケージは、versionが古い可能性があるので、まとめて全てupdateしておきます。
% conda update --all
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##m
environment location: /Users/yamada/opt/anaconda3
The following packages will be downloaded:
package | build
---------------------------|-----------------
_anaconda_depends-2020.02 | py37_0 6 KB
anaconda-custom | py37_1 3 KB
astropy-4.0.1.post1 | py37h1de35cc_0 7.4 MB
*****
(以下省略)
JupyterLabの設定
デフォルトのブラウザを設定
まずjupyternotebookconfig.pyを作成。
% jupyter lab --generate-config
Writing default config to: /Users/yamada/.jupyter/jupyter_notebook_config.py
jupyternotebookconfig.pyの99行目あたりに
c.NotebookApp.browser = u'Safari'
と書き込む。
上の場合はSafari。
設定しない場合は、システムのデフォルトのブラウザになるのですが、僕はブラウジングしているブラウザとJupyterを開くブラウザを分けています。
Jupyterを開いていると結構メモリを消費するので、1つのブラウザで使用しているとフリーズした際にブラウジングにも影響が出てしまうので、分けています。
初期ディレクトリの設定
同じくjupyternotebookconfig.pyの266行目。
c.NotebookApp.notebook_dir = '/Users/yamada/'
拡張機能をinstall
拡張機能は前の環境で入れていたものをそのまま引き継ぎましょう。
JupyterLabの拡張機能は、Jupyterの画面からGUIでもインストールできますが、まとめて入れる場合はコマンドの方が早いです。
jupyter labextension install 名前
このコマンドでインストールできます。
まとめ
いざAnacondaをアンインストールするとなったときも、設定項目などを事前に残しておくと、新しい環境でもすぐに元の環境に戻しやすくなると思います。
できる限り、アンインストールはせずに、エラーを解決できるのがベストではあるのですが...
記事の感想をリアクションでお願いします!