C'est une solution ad hoc. Je pense que les détails sont faux, mais pour le moment, cela a fonctionné, je vais donc le résumer. Veuillez me faire savoir s'il existe une méthode bonne ou correcte.
brew install python3
et --with-correctement-linked-python2-python3
, ouvrez le fichier python et l'erreur Segmentaionbrew install macvim
n'installe que le pré-construit, donc récupérez le code source du référentiel macvim et construisez-le et installez-le.
$ brew tap macvim-dev/macvim
Si vous installez normalement avec pyenv, la DLL requise pour construire MacVim ne sera pas créée, alors ajoutez les variables d'environnement suivantes et compilez. python3 donne une erreur telle que -undefined dynamic_lookup
est manquant et pip install greenlet
.
** Remplacez le numéro de version par celui que vous utilisez. ** **
PYTHON_CONFIGURE_OPTS="--enable-shared" \
LDSHARED="clang -bundle" \
LDCXXSHARED="clang++ -bundle" \
BLDSHARED="clang -bundle -lpython2.7" \
pyenv install 2.7.12
PYTHON_CONFIGURE_OPTS="--enable-shared" \
LDSHARED="clang -undefined dynamic_lookup -bundle"\
LDCXXSHARED="clang++ -undefined dynamic_lookup -bundle" \
BLDSHARED="clang -bundle -undefined dynamic_lookup -lpython3.5m" \
pyenv install 3.5.2
Puisque l'argument de construction est défini dans le code source, réécrivez le code source avec brew edit. (Il m'a fallu un jour pour le remarquer car je suis nouveau dans le brassage.)
$ brew edit macvim-dev/macvim/macvim
Le code Ruby sera affiché, alors changez l'installation par défaut en haut. La partie commentée est la valeur par défaut. Seul Python3 installé par Homebrew peut être vu, alors changez le chemin pour faire référence à Python3 de pyenv. Puisque python2 essaie également de faire référence à la bibliothèque système MacOS, ajoutez des variables et des chemins afin que python2 fasse également référence à python2 dans pyenv. ** Remplacez la partie enushi par votre propre nom d'utilisateur. ** **
def install
perl_version = '5.16'
ENV.append 'VERSIONER_PERL_VERSION', perl_version
ENV.append 'VERSIONER_PYTHON_VERSION', '2.7'
ENV.append 'vi_cv_path_python', "/Users/enushi/.pyenv/versions/2.7.10/bin/python2"
ENV.append 'vi_cv_path_python3', "/Users/enushi/.pyenv/versions/3.4.3/bin/python3"
ENV.append 'vi_cv_path_plain_lua', "#{HOMEBREW_PREFIX}/bin/lua"
ENV.append 'vi_cv_dll_name_perl', "/System/Library/Perl/#{perl_version}/darwin-thread-multi-2level/CORE/libperl.dylib"
ENV.append 'vi_cv_dll_name_python3', "/Users/enushi/.pyenv/versions/3.4.3/lib/libpython3.4m.dylib"
ENV.append 'vi_cv_dll_name_python', "/Users/enushi/.pyenv/versions/2.7.10/lib/libpython2.7.dylib"
#ENV.append 'vi_cv_path_python3', "#{HOMEBREW_PREFIX}/bin/python3"
#ENV.append 'vi_cv_path_plain_lua', "#{HOMEBREW_PREFIX}/bin/lua"
#ENV.append 'vi_cv_dll_name_perl', "/System/Library/Perl/#{perl_version}/darwin-thread-multi-2level/CORE/libperl.dylib"
#ENV.append 'vi_cv_dll_name_python3', "#{HOMEBREW_PREFIX}/Frameworks/Python.framework/Versions/3.5/Python"
--with-correctement-lié-python2-python3
est requis.
--with-override-system-vim
est une option qui remplace le vim par défaut (vim s'exécutant sur la console) dans le système d'exploitation par mvim -v
. Utilisez-le comme vous le souhaitez.
brew install --HEAD --with-properly-linked-python2-python3 --with-override-system-vim macvim-dev/macvim/macvim
Démarrez mvim et exécutez la commande suivante.
:python print(sys.path)
:py3 print(sys.path)
Le chemin de sortie doit être le python de pyenv. De plus, s'il peut être exécuté en continu, l'effet de --with-correctement-linked-python2-python3
est obtenu.
Eh bien. Bonne vie de Vim