ksaitoの日記

日々試したことの覚え書き

Mac版VSCodeでPythonの開発環境がつらい

移転しました。

自動的にリダイレクトします。

MacVSCodePython環境を作ろうとしましたが、断念しました。

gitを認識しない

ターミナルでは、問題なくつかてているgitをVSCodeが認識しませんでした。

ソース管理の画面を開くと「有効なソース管理プロバイダはありません。」と表示されます。

結局、ターミナルでgit init .したディレクトリでcode .コマンドでVSCodeを開くと、なぜか使えるようになる不思議な動きで解決しました。

もはや、原因はわかりませんが、やったことは下記の通り。

  • 拡張機能で@builtin gitが有効化されていることを確認
  • Code-基本設定-設定ユーザ設定"git.path": "/usr/bin/git"を追加

codeコマンドを使えるようにするためにコントロールパレットでshell command: install `code` commandを選択しました。

原因は、全くわかっていませんが、ターミナルで、

gti init sample
cd sample
code .

とやって認識するようにはなりました。

pythonを認識しない

Macpythonはデフォルトでは、python2です。 brewでpython3.7をインストール済みでした。

VSCodepythonのプロジェクトを開くとpython拡張機能をインストールするか聞かれるので、インストールします。

コントロールパレットでpythonインタープリタを選択すると、なぜか、開いたプロジェクトしか選択できず、/usr/local/bin/python3を指定しても反応なし...

ワークスペースからプロジェクトを削除して、VSCodeを再起動したところpythonインタープリタに/usr/local/bin/python3が指定できました...

原因がわからない、なぞ設定でVSCodeを全く信用できなくなってきました。

poetryとの親和性がとても悪い

pythonのプログラムは、poetryで環境や依存ライブラリの管理をしていました。

コントロールパレットでpython: すべての単体テストを実行とやるとテストフレームワークがないから拡張機能をインストールするか聞かれます...

インストールすると、python3のpipコマンドがpip3なのでpython2のpipを使って何かをインストールしようとして失敗...

それならば、ターミナルからvenvでpython3環境を作ってVSCodeを起動すればと、考えましたが、なぜかcodeコマンドが使えない。 activateしたときのパスの問題かと思いきや/usr/local/bin/codeにシンボリックリンクされているcodeコマンドがなくなっている...

どうやら、VSCodeでcodeコマンドを有効にすると、/usr/local/bin/code -> /private/var/folders/rt/25m7j4r14bd7g80qdrfrpdl00000gn/T/AppTranslocation/<なにかのID>/d/Visual Studio Code.app/Contents/Resources/app/bin/codeにシンボリックリンクを貼るようですが、VSCodeを終了・起動すると<なにかのID>は、別物になってしまうような...

もう無理...

VSCodeのpoetry拡張機能はないようなので、このうえ、VSCodeとpoetryの二重管理で余計な混乱が増えるのは目に見えている...

きっとWindows版のVSCodeでは問題ないのでしょう。