- 履歴一覧
- ソース を表示
- 21_Yanagi_memo は削除されています。
22_Yanagi
WSL環境の構築†
windows10でcondaを使って冬の課題とかテキストマイニング実習の課題をしようと思っていたのに、Mecab-ipadic-neologdが使えないしnumpy,scipyあたりでなんか競合エラー起きているし、偶然出会った「シロワニさんのつくよみちゃんトークソフト」がwindowsでは使えないと書かれていて(゚Д゚)ハァ?となったので、Mecab-ipadic-neologdのGithubに書かれているようなWSL環境を構築しようとしたら沼ったので備忘録的な感じで残しておきます。これが私の冬の課題…
使い道はたぶんないです。普通にMacやLinuxのPC使うなりcondaのエラーを修正したほうが楽…
いろいろなサイトを見て数日かけてやっと形になったので初めての方はどうやったかあやふやです
また、簡単な動作確認をしただけなのできちんと導入できているかはまだ未知数です
- WSLを有効にする
WSLとWSL2があるらしいですが、WSL2のほうがよさそうなのでそっちで導入しました
- 1.コントロールパネルからWSLを有効にする
コントロールパネル>プログラムと機能>Windowsの機能の有効化または無効化を選択し
『Linux用Windowsサブシステム』と『仮想マシン プラットフォーム』にチェック
OKを押すと再起動を要求されるのでそれに従う
- 2.Powershellを管理者権限で開いてwsl2の起動?とかとか
windowsマークを右クリック>windows PowerShell(管理者)を起動
[wsl --install]を実行する(※[]は無視してください)
ただこの更新にはカーネル更新プログラムパッケージが必要
入ってないとこのURLからダウンロードしてって言われるのでそれに従う
Microsoftのページにはディストリビューション(後述)も一緒にインストールされるって書いていますが手動でした気がします。
wsl2への変更も手動でしましたし、なんか間違えてそうですね…どうやったか覚えてない…
- 2-1.Linuxを動かすやつ(ディストリビューション)をダウンロードして簡単な設定とか
Ubuntuっていうのを使いました。Microsoft storeから検索して入手できます
開くとインストール作業があった後Linuxで用いるユーザ名とパスワードの設定・再確認が求められるのでそれに従う。このユーザ名とパスワードは今後の作業で使います。
なお、パスワードを打っても表示はされません。でもきちんと入力されてはいます
- 2-2.ディストリビューションがきちんとwsl2で動作してるかPowershellから確認
windows Powershellを開いて[wsl -l -v]を実行すると
NAME STATE VERSION
Ubuntu Stopped 2 …みたいなのが表示されるはずです
VERSIONが2になっていたら大丈夫。もしVERSIONが1の場合は以下のコマンドを実行
[wsl -set-version Ubuntu 2]
参考:https://docs.microsoft.com/ja-jp/windows/wsl/install
https://www.pc-koubou.jp/magazine/40465
- Ubuntuでpython3を使えるようにする
参考ページの仮想環境の有効化までを順にしていけば大丈夫です
sudoでpython環境インストールをした後はテキストマイニング実習でやった方法と同じなので割愛します。以下では個人的に詰まった点をピックアップします
参考:https://qiita.com/sireline/items/3c97a0c266431ac5b2ea
- ディレクトリにどうやってアクセスすればいいかわからない
→CIFSを利用して共有フォルダを作ってwindow側のファイルをLinux側でも扱えるように
- 1,windows側で共有フォルダを作る
ただ作るだけだと共有相手がEveryoneになってるので
プロパティ>詳細な共有から変更>このフォルダを共有するにチェック
>アクセス許可>ユーザーを追加しフルコントロールにする
- 3.CIFSをインストールしてフォルダ同士をつなげる
[sudo apt install cifs-utils]を実行しCIFSをインストールして以下のコマンドを実行
sudo mount -t cifs -o username=[winのユーザ名],password=[winのパスワード],uid=[linuxのユーザ名] //[コンピュータ名orIPアドレス]/[win側の共有ファイル] [Linux側の共有ファイル]
例)sudo mount -t cifs -o username=winUser,password=PassWord,uid=linUser //192.160.1.5/mount ./winmount
※上記は手動マウントの方法。起動時に毎回しないとダメ。自動的にしてほしい場合はfstebファイルを編集する
自動化させる場合はIPアドレスを固定しないとダメかも。WSLのIPアドレス使えばいけるのかな…?
参考:https://codeaid.jp/blog/linux-windows-share/
- Matplotlibのshow()が使えない
→LinuxのGUIにwindows側が対応していないのが原因
VcXsrvをインストールしUbuntuのDISPLAY設定を変えることで表示ができた
- 1.VcXsrvのインストールと設定
公式ページからダウンロードしてインストールして実行基本的に設定を変える必要はない
ただExtra settingのAdditional parameters for VcXsrvに[-ac]って入れておくと良き
※ネットワークを使う(?)のでファイアウォールでパブリックの通信を許可しておかないと動いてくれない
- python3でMecab-ipadic-neologdが使えない
→辞書のパスを修正することで対応
- 1.mecab-ipadic-neologd辞書のインストール
下記の参考URLに日本語で説明してくださっているのでそれに沿って進めれば大丈夫です
ちなみに辞書はUbuntu環境では特に設定を変えない限り以下のパスにDLされると思います
/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd
現状これらをすることでwin側で.py作成→Linux上で実行→win側で実行結果を確認できています
どうせ今後エラーとか出てくると思うのでそのたびに加筆するかもです