PYTHONHOMEをif_pythonとif_python3に同時に設定できない #982

Open
splhack opened this Issue Nov 22, 2016 · 8 comments

Projects

None yet

5 participants

@splhack
Member
splhack commented Nov 22, 2016 edited

質問・報告の内容

PYTHONHOMEをif_pythonとif_python3に同時に設定できないので、pythonhome, pythonthreehomeを足してみました。が、Travis-CIが失敗してる状態です。誰か助けてください...

vim/vim#1266

Vimのバージョン

8.0.???

OSの種類/ディストリ/バージョン

UNIX系

@splhack splhack changed the title from PYTHONHOMEwoif_pythonとif_python3 to PYTHONHOMEをif_pythonとif_python3に同時に設定できない Nov 22, 2016
@ichizok
Member
ichizok commented Nov 22, 2016 edited

PYTHON3_HOMEL"/usr" のようにワイド文字列で定義されるので、p_py3home のデフォルト値としてうまく扱えないのでは?

@k-takata
Member

'\0'NUL がよろしいかと。

@h-east
Member
h-east commented Nov 22, 2016

'\0'NUL がよろしいかと。

私も同じツッコミをしようと思ったんだけど、if_py*.[ch]は既に'\0'が使われていたのでやめました。

@k-takata
Member

おっ、確かに。では、なしで。

@mattn
Member
mattn commented Nov 22, 2016

@ichizok さんの言うようにワイド文字です。僕も vim でハマった記憶あります。

@k-takata
Member

PYTHON3_HOME を wide 文字から char に変えてしまって、

#define TOWIDE(str) L##str

Py_SetPythonHome(TOWIDE(PYTHON3_HOME));

というのはどうだろう? そうすれば、p_py3home のデフォルト値として使えるようになります。
configure.acMake_cyg_ming.mak も修正対象になってしまうので、ちょっと注意が必要ですが。

@splhack
Member
splhack commented Nov 22, 2016

ありがとうございます! p_pyhome, p_py3homeのデフォルトはNULLでよかったのでした。

  • pythonhome, pythonthreehomeが設定
    • されている → Py_SetPythonHomeでそれを設定
    • されてない → 次へ
  • PYTHONHOME環境変数が設定
    • されている → なにもしないでPythonライブラリにまかせる
    • されてない → 次へ
  • コンパイル時PYTHON_HOME/PYTHON3_HOMEをPy_SetPythonHomeで設定
@splhack
Member
splhack commented Nov 29, 2016

MacVimにはexperimentalとして入れちゃいました。一般的な組み合わせを何の設定もせずバイナリリリースで使えるようにするため。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment