у меня есть проблема с компиляцией энергии с предпочтительной версией Python.
Когда я использую - включают-pythoninterp
, это компилирует с системой версию Python OSX.
Когда я использую - enable-pythoninterp=dynamic
, я получаю ошибку в энергии при попытке : 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's install prefix... /usr/local
checking Python's execution prefix... /usr/local
checking Python's 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
?
Мой Python по умолчанию 2.7! И это живет в /usr/local/bin/python
, я искал решение весь день. И я нашел его. Это атрибут =dynamic (но это решение не имело объяснения).
После этого я пытался перекомпилировать энергию с динамическим 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 интегрируется в энергию во время компиляции?
И как зафиксировать ошибку с libpython2.7.a?
обновление : Мне больше не описывали среду в вопросе. Таким образом, я не мог протестировать новые ответы. Но остающаяся часть человечества будет ценить вашу справку.