Вкратце:
У меня проблема с компиляцией vim с предпочтительной версией python.
Когда я использую --enable-pythoninterp
, он компилируется с версией python на системной OSX.
Когда я использую --enable-pythoninterp=dynamic
, я получаю сообщение об ошибке в vim при попытке :py import sys
Вот что я делал более подробно:
% git clone https://github.com/b4winckler/macvim.git
% cd macvim
% ./configure --enable-pythoninterp \
--with-python-config-dir=/usr/local/lib/python2.7/config <- this option has no affects on result
...
checking for python... /usr/local/bin/python
checking Python version... 2.7
checking Python is 1.4 or better... yep
checking Python install prefix... /usr/local
checking Python execution prefix... /usr/local
checking Python configuration directory... /usr/local/lib/python2.7/config
...
% make
...
** BUILD SUCCEEDED **
% open src/MacVim/build/Release/MacVim.app
В открывшемся MacVim я введите:
:py import sys; print (sys.version, sys.executable)
('2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)]',
'/usr/bin/python')
Почему 2.6.1
?
Почему /usr/bin/python
?
Мой питон по умолчанию - 2,7! И он живет в /usr/local/bin/python
Я искал решение весь день. И я нашел его. Это = динамический атрибут (но это решение не объясняло).
После этого я попытался перекомпилировать vim с динамическим python:
% ./configure --enable-pythoninterp=dynamic
... output the same ...
% make
% open src/MacVim/build/Release/MacVim.app
В открывшемся MacVim:
:py import sys
И возникает ошибка:
E370: Could not load library libpython2.7.a
E263: Sorry, this command is disabled, the Python library could not be loaded.
Моя версия OSX - 10.6.8.
Версия python по умолчанию - 2,7.
% which python
/usr/local/bin/python
Может ли кто-нибудь объяснить, как python интегрируется в vim во время компиляции?
И как исправить ошибку с помощью libpython2.7.a?
update: у меня больше нет среды, описанной в вопросе. Поэтому я не смог проверить новые ответы. Но оставшаяся часть человечества по достоинству оценят вашу помощь.