vscodeでfortranをデバックしようとしています。
自分で調べたとことFORTRAN IntelliSense(拡張機能)はfortran-language-serverの実行パスが必要なのですが,
ターミナル(zsh)で
which fortran-language-sever
と打っても下記のエラーが出ます。
fortran-language-server not found
fortran-language-severはpip3でインストールされているはずです。
下記はターミナルで
pip3 install fortran-language-server
と入力した時のものです。
Defaulting to user installation because normal site-packages is not writeable Requirement already satisfied: fortran-language-server in ./Library/Python/3.8/lib/python/site-packages (1.12.0) WARNING: You are using pip version 20.2.3; however, version 21.3.1 is available. You should consider upgrading via the '/Applications/Xcode.app/Contents/Developer/usr/bin/python3 -m pip install --upgrade pip' command.
これはインストールされているのでしょうか?
されているならどうしたらfortran-language-severの実行パスを知れますか?
PCはmacOS Big Sur 11.6 Apple M1です。
which fortls
は、どうでしょうか?
参考
https://matsuo-san.hatenablog.com/entry/2020/03/20/160907
試したのですがダメでした。
fortls not found
と出ました。
which pip3
でpip3がある場所を見つけて、その近くにありませんか?
同じディレクトリに無くても、その上とかの近くに
上記で見つからなければ、ターミナルで下記を実行してみてください
find / -name fortls
「fortls」がMac内のどこかにあれば、見つかります
ただし、「Permission denied」みたいなのが書かれた行がたくさん表示されるので、それに埋もれて見辛いので、注意して見つけてください
あと、検索し終わるまでにそこそこ時間かかるかもしれないので、終わるまで放置してください
当方のMac(SSD 500GB)では、5分くらいかかります
pip3の近くを探していたのですが見つからなかったので
find / -name fortls
をしてみます。
/Users/Username/Library/Caches/com.apple.python/Users/Username/Library/Python/3.8/lib/python/site-packages/fortls
がありました。
これが実行パスですか?
そうかもしれませんが、「Caches」と付いてるので怪しいです
pip3 show fortran-language-server
を実行して、いろいろ表示される中に「Location:」で始まる行がありますので、そこに書かれてるパスにないか確認してみてください
/Users/Username/Library/Python/3.8/lib/python/site-packages
かな?
WARNING: Package(s) not found: fortran-lanugage-sever
出ました。
先程の
find / -name fortls
を実行したときに
下記のものを見つけました。
/Users/Username/Library/Python/3.8/bin/fortls
/Users/Username/Library/Python/3.8/lib/python/site-packages/fortls
> WARNING: Package(s) not found: fortran-lanugage-sever
出ました。
lanugage-sever
↓
language-server
> 下記のものを見つけました。
/Users/Username/Library/Python/3.8/bin/fortls
/Users/Username/Library/Python/3.8/lib/python/site-packages/fortls
一つ目(.../bin/fortls)が、それっぽいです
「bin」は実行ファイルを置く場所なので
二つ目(.../site-packages/fortls)は、もしかしたらディレクトリでは?
もしディレクトリなら、違います
スペルミスでした。
すいません。
一つ目ですね。
ここまでありがとうございました。
ls -l /Users/Username/Library/Python/3.8/bin/fortls
の結果が、一番左が「-rwx」ならば、たぶんそれです
もし「drwx」ならば、それはディレクトリなので違います
-rwxr-xr-x 1 Username staff 256 11 9 20:42 /Users/Username/Library/Python/3.8/bin/fortls*
とてきたのでこれが実行パスですね。
ありがとうございました。
とても助かりました。
回答1件
あなたの回答
tips
プレビュー