Python 基本操作 新しいページはコチラ
提供: yonewiki
(→Anaconda) |
(→概要) |
||
58行: | 58行: | ||
− | * | + | *condaでのオフライン方式モジュールInstall |
:例 spleeterモジュールの例 | :例 spleeterモジュールの例 | ||
:※1.このようなバージョンのものはありません。 | :※1.このようなバージョンのものはありません。 | ||
65行: | 65行: | ||
conda install --offline spleeter-0.0.0-py38_0.tar.bz2 | conda install --offline spleeter-0.0.0-py38_0.tar.bz2 | ||
</syntaxhighlight2> | </syntaxhighlight2> | ||
+ | :モジュール本体はあらかじめコマンドを使う時のカレントディレクトリに保管する必要があります。そうでない場合はフルパスを--offlineの後ろの引数で指定する必要があります。 | ||
− | * | + | *conda環境のモジュールInstall |
:例 spleeterモジュールの例 | :例 spleeterモジュールの例 | ||
:※1.このようなバージョンのものはありません。 | :※1.このようなバージョンのものはありません。 | ||
74行: | 75行: | ||
conda install spleeter | conda install spleeter | ||
</syntaxhighlight2> | </syntaxhighlight2> | ||
+ | :インストールを始めて1時間以上examining conflictとかって続く場合は競合調査の永久ループに入っています。別のモジュールからのインストールをするとか、専用の仮想環境を追加(下の方にコマンドは紹介しています。)するとか、Channelを特定するとか、工夫が必要になっていると思われます。 | ||
− | + | *conda環境のモジュールを特定のChannelからInstall | |
− | * | + | :例 spleeterモジュールをconda-forgeというChannelからインストールする例 |
+ | :※1.このようなバージョンのものはありません。 | ||
+ | :※2.spleeterがこれだけで簡単にインストールできるとは限りません。 | ||
+ | <syntaxhighlight2 lang="python"> | ||
+ | conda install -c conda-forge spleeter | ||
+ | </syntaxhighlight2> | ||
+ | *conda環境のモジュールunInstall | ||
:例 spleeterモジュールの例 | :例 spleeterモジュールの例 | ||
<syntaxhighlight2 lang="python"> | <syntaxhighlight2 lang="python"> | ||
83行: | 91行: | ||
− | * | + | *conda環境のモジュールの最新版への更新 |
:例 spleeterモジュールの例 | :例 spleeterモジュールの例 | ||
+ | :※1.spleeterがこれだけで簡単に更新できるとは限りません。 | ||
+ | <syntaxhighlight2 lang="python"> | ||
+ | conda update spleeter | ||
+ | </syntaxhighlight2> | ||
+ | |||
+ | |||
+ | *conda環境のモジュールのキャッシュ削除 | ||
+ | :例 全部のキャッシュを削除する例 | ||
+ | <syntaxhighlight2 lang="python"> | ||
+ | conda clean -all | ||
+ | </syntaxhighlight2> | ||
+ | |||
+ | :Windowsでは、以下のようなパスの下のモジュールのパッケージのキャッシュが削除されます。 | ||
+ | <syntaxhighlight2 lang="python"> | ||
+ | C:\ProgramData\Anaconda3\pkgs | ||
+ | C:\Users\[ユーザ名]\.conda\pkgs | ||
+ | C:\Users\[ユーザ名]\AppData\Local\conda\conda\pkgs | ||
+ | </syntaxhighlight2> | ||
+ | :これらは、Windowsアプリのインストーラーみたいなものです。インストール後にモジュールを使う分には必要の無いものです。ここで言うキャッシュは少し昔で言えば、インストール用のCDやDVDをずっとハードディスクの中に収めておくようなものです。CDは不要だから何処かに収納すると思います。モジュールの場合これをパッケージと呼んでいます。これがクラウドのような場所(Channel)にあるので、手元には不要ということです。でもクラウドだから消したら、またダウンロードに時間がかかるということはあります。ずっととっておいてもあまりいいことは無いのでうまく動いていて、安定しているなら、消した方が良いでしょう。 | ||
+ | |||
+ | :--all のオプションを付けた実行ではインデックス(--i), ロックファイル(--l), tarball(--t), パッケージ(--p), ソース(--s)のキャッシュが消されます。全て消しても不都合は生じないものです。インデックスは一覧を検索するとき早くなる仕組みです。辞書順でどこに何のファイルがあるかをあらかじめ準備しておいて、すぐに表示できるようにします。イチからディスクにあるファイルの名前を調べて、表示するより速くなります。ロックファイルは、ファイルを使う時にファイル毎にロックファイルを置いて状態を記します。ロックファイルの中身の状態をみて、ファイルが使える状態にあるかを確認する仕組みです。パッケージは先に説明したとおりです。ソースファイルはパッケージのインストールを補助するようなプログラムコード一式です。tarballはパッケージのキャッシュの中でもtar形式になっているものを差します。tar形式のことをtarball(ターボール)と呼びます。tarは複数のファイルを一つにまとめるという仕組みで、圧縮は関係ないです。何を使って圧縮をしたかで、拡張子が分離します。compress=tar.Zあるいは.taz、gzip =.tar.gzあるいは.tgz、bzip2=.tar.bz2です。 | ||
+ | |||
+ | |||
+ | *conda環境のモジュール一覧のバージョン確認 | ||
<syntaxhighlight2 lang="python"> | <syntaxhighlight2 lang="python"> | ||
conda list | conda list | ||
</syntaxhighlight2> | </syntaxhighlight2> | ||
− | : | + | :anacondaはモジュールが多いはずなので、全部を表示するのには時間がかかります。特定のモジュールについて知りたい場合は二つ下のような方法がお勧めです。 |
+ | |||
+ | |||
+ | *conda環境のモジュール一覧の更新が必要なモジュール一覧のバージョン確認 既存と最新版の比較表示 | ||
+ | :<span style="color:red;">そのままは実行しては駄目ですが、以下の手順です。</span> | ||
+ | <syntaxhighlight2 lang="python"> | ||
+ | conda update --all | ||
+ | </syntaxhighlight2> | ||
+ | :としてから、本当に<span style="color:red;">更新するかという問い合わせで n キーをおしてEnter。</span> | ||
+ | |||
*conda環境の特定モジュールのバージョン確認 | *conda環境の特定モジュールのバージョン確認 | ||
96行: | 137行: | ||
</syntaxhighlight2> | </syntaxhighlight2> | ||
:部分一致したモジュール名のバージョン確認なので、spleeter以外のspleeterを含むモジュールが表示される可能性があります。 | :部分一致したモジュール名のバージョン確認なので、spleeter以外のspleeterを含むモジュールが表示される可能性があります。 | ||
+ | <syntaxhighlight2 lang="python"> | ||
+ | package | build | ||
+ | ---------------------------|----------------- | ||
+ | spleeter-0.0.0 | py38_0 4.9 MB | ||
+ | ------------------------------------------------------------ | ||
+ | Total: 4.9 MB | ||
+ | </syntaxhighlight2> | ||
+ | :上記のような結果が返ってくる事でしょう。buildの欄は、バージョンとは他に管理されているもので、同一バージョンの中でbuildだけが異なるモジュールが存在することがあるので付けられているものです。buildはモジュールを作るときにどのバージョンで作ったかを記すものですが、作成者によってさまざまな命名がされます。いずれにせよbuildも番号が新しいものが優先されてインストールされたりする仕組みになっています。 | ||
+ | |||
+ | *conda環境の特定モジュールのバージョン確認 | ||
+ | :例 base環境つまりconda環境・anaconda環境の例 | ||
+ | <syntaxhighlight2 lang="python"> | ||
+ | conda list -n base | ||
+ | </syntaxhighlight2> | ||
+ | |||
*condaの設定のssl_verifyをFalseにしたりTrueにする。 | *condaの設定のssl_verifyをFalseにしたりTrueにする。 | ||
104行: | 160行: | ||
</syntaxhighlight2> | </syntaxhighlight2> | ||
:sslの設定が上手く設定されていないとcondaを使ったダウンロードが出来ない場合がある。相手の認証情報を確認するための設定をするのは意外と面倒な場合もあるので、省略する時に使う。但しFalse状態は正体不明のところからDownloadするのは危険なので、取り扱いに注意が必要。 | :sslの設定が上手く設定されていないとcondaを使ったダウンロードが出来ない場合がある。相手の認証情報を確認するための設定をするのは意外と面倒な場合もあるので、省略する時に使う。但しFalse状態は正体不明のところからDownloadするのは危険なので、取り扱いに注意が必要。 | ||
+ | |||
+ | |||
+ | *conda環境のChannels設定(モジュールをダウンロードする場所)の確認 | ||
+ | :例 defaultのダウンロード先を向いている場合 | ||
+ | <syntaxhighlight2 lang="python"> | ||
+ | (base) PS C:\...Anaconda3>conda config --get channels | ||
+ | (base) PS C:\...Anaconda3> | ||
+ | </syntaxhighlight2> | ||
+ | :のようにエラーも何に表示されずに次のコマンド受付になった場合はdefaultを向いています。 | ||
+ | :つまり | ||
+ | <syntaxhighlight2 lang="python"> | ||
+ | https://repo.anaconda.com/pkgs/main/win-64 | ||
+ | https://repo.anaconda.com/pkgs/main/noarch | ||
+ | https://repo.anaconda.com/pkgs/r/win-64 | ||
+ | https://repo.anaconda.com/pkgs/r/noarch | ||
+ | https://repo.anaconda.com/pkgs/msys2/win-64 | ||
+ | https://repo.anaconda.com/pkgs/msys2/noarch | ||
+ | </syntaxhighlight2> | ||
+ | :のようなモノです。conda config --showで確認すると | ||
+ | <syntaxhighlight2 lang="python"> | ||
+ | default_channels: | ||
+ | - https://repo.anaconda.com/pkgs/main | ||
+ | - https://repo.anaconda.com/pkgs/r | ||
+ | - https://repo.anaconda.com/pkgs/msys2 | ||
+ | .... | ||
+ | .... | ||
+ | subdirs: | ||
+ | - win-64 | ||
+ | - noarch | ||
+ | </syntaxhighlight2> | ||
+ | :と指定されている部分です。この組み合わせがdefaultと言っています。具体例なので人によって異なる設定になっていると思います。 | ||
+ | :noarchはノーアーキテクチャーを意味しています。Channelとしては、実際にはアーキテクチャーを問わないという意味で使われていて、それぞれの環境に合わせて動くようになっているモジュールなんかが含まれています。そのディレクトリの中にあるモジュールも確認するということです。 | ||
+ | |||
+ | |||
+ | *conda環境のChannels設定(モジュールをダウンロードする場所)を追加する。 | ||
+ | 例:conda-forgeというChannelを追加する。conda-forgeは有志であらゆるモジュールのインストーラを配置することによって運営されている。なかなか凄いChannelで検索しても分かるようにかなり有名なChannelです。 | ||
+ | <syntaxhighlight2 lang="python"> | ||
+ | conda config --append channels conda-forge | ||
+ | </syntaxhighlight2> | ||
+ | |||
+ | :一度でも追加するとconda config --get channelsの結果が変わるのかもしれまえん。 | ||
+ | <syntaxhighlight2 lang="python"> | ||
+ | (base) PS C:\...Anaconda3>conda config --get channels | ||
+ | --add channels 'conda-forge' # lowest priority | ||
+ | --add channels 'defaults' # highest priority | ||
+ | (base) PS C:\...Anaconda3> | ||
+ | </syntaxhighlight2> | ||
+ | |||
+ | :後から追加したものはlowest priority(低優先度)ですが、確かにChannelに追加されているので、問題ないでしょう。 | ||
+ | |||
+ | |||
+ | *conda環境のChannels設定(モジュールをダウンロードする場所)を削除する。 | ||
+ | :例:conda-forgeというChannelを削除する場合。 | ||
+ | <syntaxhighlight2 lang="python"> | ||
+ | conda config --remove channels conda-forge | ||
+ | </syntaxhighlight2> | ||
*condaの中にある仮想環境を追加する。 | *condaの中にある仮想環境を追加する。 | ||
− | 例:python2.7をCondaの中に作る場合。 | + | :例:python2.7をCondaの中に作る場合。 |
<syntaxhighlight2 lang="python"> | <syntaxhighlight2 lang="python"> | ||
conda create -n py27 python=2.7 anaconda -y | conda create -n py27 python=2.7 anaconda -y | ||
115行: | 227行: | ||
*condaの中にある仮想環境を削除する。 | *condaの中にある仮想環境を削除する。 | ||
− | 例:Condaの中のpython2.7の仮想環境を削除する場合。 | + | :例:Condaの中のpython2.7の仮想環境を削除する場合。 |
<syntaxhighlight2 lang="python"> | <syntaxhighlight2 lang="python"> | ||
conda remove -n py27 --all | conda remove -n py27 --all |