BackacheEngineerの技術的な備忘録

技術系でいろいろ書けたらなーと

anacondaとVSCodeとGitで大苦戦

学生の頃機械学習やっていたのもあり、kaggle とか本とか充実してるし もっかい勉強しよう、ということで python の勉強を始めている。 VSCode 使いたいーからの Git 連携したいーからの python 関連の バージョン管理は anaconda でええかということでタイトル。

Visual Studio 2019 では Gi tとの連携楽ちんだったし余裕っしょと思っていたら ほんと大苦戦した。

結構前に環境を整備してしまったので、エラー画像とかはないが、 備忘録としては機能するはず。

目次

環境の整備

anaconda もいれるだけ、VSCode もいれて、その拡張機能として Git 入れるだけ。 インストールだけは本当にそれだけ。 問題はそれ以降、使えるようにするまで。

conda環境を使えるようにする

まず、numpy とかが import できなくて困る。 Path もあるのに実行できない。

これの原因は python を実行する際に conda 環境を使うようにする おまじないをしてないから。 そのおまじないが「conda init powershell」というコマンドである。 これを Windowsコマンドプロンプトpowershell ではなく、 anaconda のコマンドプロンプトからやんないといけないのに注意。

これで、powershell 起動時にスクリプトが走り、 conda 環境が使えるようになる。 f:id:BackacheEngineer:20200228202009p:plain

この環境構築は以下を参考にした。 https://qiita.com/yniji/items/668f805a72a6ced6a2bd

Windows Powershell の設定

powershell 起動時に conda 環境が使えるようになるはずだが、 Windowspowershell はデフォだと外部のスクリプトを動かせない。 VSCode のターミナルは WindowsPowershell なのか、案の定 import は実行できず…。

そこで、カレントユーザ(ログインしている人)はスクリプトが動かせるように設定を書き換える。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

これでローカルのスクリプトは動かせるようになる。実際に変わっているかどうかは

Get-ExecutionPolicy -List

でわかる。ポリシーについて以下にわかりやすくまとまっていた。 大感謝しかない。 https://www.atmarkit.co.jp/ait/articles/0805/16/news139.html

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-7

これで VSCode 使って python をやっていく環境が整った。

VSCode と Git の連携

VSCode と Git の連携は、知ってさえいれば難しくなかった。

  1. VSCode拡張機能として Git を入れる
  2. ssh の公開鍵を Github に設定する

これで終わりである。

Git for Windows なら GUIssh の公開鍵を作成できるので楽ちん。 それをコピーしておき、Github のアカウントにある Settings から 「SSH and GPG keys」にある SSH keys に登録すれば 2 は完了する。

ただ、ssh の公開鍵作成時にパスフレーズ設定してると VSCode の Git でエラーが発生しまくる。(自分はこれで3時間悩んだ)

パスフレーズを設定しないか、自動でパスフレーズを入力するような 工夫をするか、毎回ターミナルから git コマンドでプッシュするかの3択になる。

最後のパスフレーズをどうするかは、考え中。 一番簡単なのは、パスフレーズを設定しないこと。