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-WindowsUNIX では Python ライブラリを動的に読み込むことが可能です。 : この場合、Vimは必要なときだけPythonのDLLファイル、もしくは共有ライブラリファイルを検索します。

と,こんな仕組みがあって...

Python 3 共有ライブラリの名前を指定。

する...のだそうです笑

具体的に?という話となると,こちらが明快かな,と思います.;

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' としたかったようですが、オプション名に数値が使えないという制約が存在したため、このようになっています。

実は「なんでかなぁ」って薄っすら気になっていたのが,アクティベイトされて,これ知った時は何となく気持ちよかったのを覚えてます.

こう言う「ちょこっとしたける気になる」的な話,好きだったりします,えぇ.

はい,おしまい.

*1:自前で作業環境構築を自動化するシェルスクリプトを用意しているので,結構カジュアルに OS クリーンインストールをやったりする.

*2:具体的には ":Denite file_mru" を割り当てているキーマップ.

*3:Vim も Python3 のインストールは Homebrew と Homebrew-Cask を使ってます.

*4:勿論,「そう拘ること自体痛い,頭ワルw」とか,「Homebrew の使わなければ?」とか言う,根本的本質的な刺され方,あるでしょうが,されど,知ることなく,自分的に曖昧なまま通り過ぎるのがどうもアレでして(恥