Pythonthreedll どうしてます?
今回のエントリは,"こうしました" な話ではなく,"どうしたらいいんだろ" 的な煮え切らない感じで終わります.
細かいことは端折って,先日 OS をクリーンインストールしました.*1
で無事環境構築を終え,Vim (MacVim-KaoriYa) を起動.そしていつもの手グセで Denite
にアクセスしたら*2,「Python3 無いよ」 なエラーに出くわすわけです.
[denite] denite.nvim does not work with this version. [denite] It requires Vim 8.0+ with Python3 support("+python3").
勿論,Vim は 8.0+ で Python3 導入済*3なのですが.
pythonthreedll
震源地は,.vimrc
の,pythonthreedll
と言うオプション.
こちらの設定内容を以下のような感じで書き換えてやりますと,エラーで鳴かなくなります.
" set pythonthreedll=/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/Python set pythonthreedll=/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/Python
敢えて既存の状態をコメントで残しましたが,ご覧の通りでして,この度の OS クリーンインストールによって Homebrew
がインストールしてくれた Python3 のバージョンが以前のとは変わっており,結果それまでのpythonthreedll
に指定していた参照先にズレが生じてしまっていた,と言うことであります.
ただそれだけ,なのですが,今回ここで触れておきたいと思った話は...
バージョンが変わる度に,pythonthreedll
書き換えなくちゃいけないの?
ということが知りたくて.
そんなわけないですよね.
完全否定が欲しい
そんな愚直実直なやり方が正解なのだろうか?(the 反語est
誰か,完全否定して欲しいのです,ぷりぃず...
「え?何言っているの?そんなことも知らないの?あんたバカなの?www」が正解であって欲しいのですが.
知らないのは自分だけで,この程度の問題は皆,絶対スマートに対処している筈であることを信じて止まない自分は,粘着的に世界の知恵を拝借しようと彷徨うのですが,そこはさすが情弱w.*4
と言うことでして...
「皆さんどうしてます?」
この度のエントリのモチベーションと言うのが,実はこれでして,「皆さん,これ,どうしてます?」言うのをやりたくてですね.辱めもなく厚かましくも公共のスペースを漁して.
どなたか何卒,御知恵を,いや御慈悲をば.
相変わらず厚顔無恥の他力本願でありますorz
ちなみに,の pythonthreedll
についてメモ
Pthon ライブラリを動的に読み込む仕組みがあって,それを指定するためのオプション
でいいのですかね笑
MS-Windows と UNIX では Python ライブラリを動的に読み込むことが可能です。 : この場合、Vimは必要なときだけPythonのDLLファイル、もしくは共有ライブラリファイルを検索します。
via. :h python-dynamic
と,こんな仕組みがあって...
Python 3 共有ライブラリの名前を指定。
via. :h pythonthreedll
する...のだそうです笑
具体的に?という話となると,こちらが明快かな,と思います.;
Homebrewなどのdylibを使用したい場合は .vimrc にてset perldll=/usr/local/lib/perl5/5.12.0/darwin-2level/CORE/libperl.dylib set pythondll=/usr/local/lib/libpython2.7.dylib set pythonthreedll=/usr/local/Cellar/python3/3.3.0/Frameworks/Python.framework/Versions/3.3/Python set rubydll=/usr/local/lib/libruby.1.8.dylib set luadll=/usr/local/Cellar/lua52/5.2.1/lib/liblua.dylibのように指定します.
数字使えないから
'pythonthreedll' は Python 3 のためのものです。本来 'python3dll' としたかったようですが、オプション名に数値が使えないという制約が存在したため、このようになっています。
実は「なんでかなぁ」って薄っすら気になっていたのが,アクティベイトされて,これ知った時は何となく気持ちよかったのを覚えてます.
こう言う「ちょこっとしたける気になる」的な話,好きだったりします,えぇ.
はい,おしまい.