Das Problem, dass MacVim, das von Homebrew installiert wurde, nicht von Python of Pyenv erstellt wurde, wurde behoben

Es ist eine Ad-hoc-Lösung. Ich denke, die Details sind falsch, aber vorerst hat das funktioniert, also werde ich es zusammenfassen. Bitte lassen Sie mich wissen, ob es eine gute oder korrekte Methode gibt.

Es ist ein Artikel, um diejenigen zu retten, die sich über solche Probleme Sorgen machen

MacVim Installationsanweisungen

Tippen Sie auf das Macvim-Repository

Brew install macvim installiert nur den vorgefertigten. Holen Sie sich also den Quellcode aus dem Macvim-Repository und erstellen und installieren Sie ihn.

$ brew tap macvim-dev/macvim

Installieren Sie pyenv Python mit DLL

Wenn Sie normal mit pyenv installieren, wird die zum Erstellen von MacVim erforderliche DLL nicht erstellt. Fügen Sie daher die folgenden Umgebungsvariablen hinzu und erstellen Sie. python3 gibt einen Fehler aus, z. B. "-undefined dynamic_lookup" fehlt "und pip install greenlet".

** Ändern Sie die Versionsnummer in die von Ihnen verwendete. ** ** **

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

Ändern Sie die Build-Einstellungen mit Brew Edit

Da das Build-Argument im Quellcode festgelegt ist, schreiben Sie den Quellcode mit Brew Edit neu. (Ich habe einen Tag gebraucht, um es zu bemerken, weil ich neu im Brauen bin.)

$ brew edit macvim-dev/macvim/macvim

Der Ruby-Code wird angezeigt. Ändern Sie daher die Standardinstallation oben. Der auskommentierte Teil ist der Standardwert. Da Python3 nur von Homebrew installiert wird, ändern Sie den Pfad, um auf Python3 von pyenv zu verweisen. Da python2 auch versucht, auf die MacOS-Systembibliothek zu verweisen, fügen Sie Variablen und Pfade hinzu, sodass python2 in pyenv auch auf python2 verweist. ** Ändern Sie den Enushi-Teil in Ihren eigenen Benutzernamen. ** ** **

  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"

MacVim-Installation

--with-richtig-verknüpft-python2-python3 ist erforderlich. --with-override-system-vim ist eine Option, die das Standard-vim (vim, das auf der Konsole ausgeführt wird) im Betriebssystem durch mvim -v ersetzt. Verwenden Sie es, wie Sie möchten.

brew install --HEAD --with-properly-linked-python2-python3 --with-override-system-vim macvim-dev/macvim/macvim

Bestätigung nach der Installation

Starten Sie mvim und führen Sie den folgenden Befehl aus.

:python print(sys.path)
:py3 print(sys.path)

Der Ausgabepfad sollte Pyenvs Python sein. Wenn es kontinuierlich ausgeführt werden kann, wird auch der Effekt von "--mit richtig verknüpftem Python2-Python3" erhalten.

Referenz

Na dann. Glückliches Vim-Leben

Recommended Posts

Das Problem, dass MacVim, das von Homebrew installiert wurde, nicht von Python of Pyenv erstellt wurde, wurde behoben
Die Geschichte, dass die Version von Python 3.7.7 nicht an Heroku angepasst wurde
Installieren Sie das neueste Python von pyenv, das von Homebrew installiert wurde
Das Problem, dass das Bild beim Laden mit PandasTools.LoadSDF nicht in ROMol angezeigt wurde, wurde behoben.
tkinter konnte nicht mit Python verwendet werden, das von pyenv of anyenv installiert wurde
Die Geschichte, dass die Homebrew-Umgebung bei der Installation von Anaconda umgehauen wurde
Das Problem, dass die Version von Vue CLI nicht gestartet wurde
Das 16. Offline-Echtzeit-Schreibproblem wurde mit Python gelöst
Das 15. Offline-Problem beim Schreiben in Echtzeit wurde mit Python gelöst
Pandas des Anfängers, vom Anfänger, für den Anfänger [Python]
Die Geschichte, dass XGBoost endlich installiert wurde
Ich dachte, es sei dasselbe wie Python, und ich war süchtig nach dem Problem, dass der Ruby-Interpreter nicht gestartet wurde.
Es scheint, dass die Version von Pyflakes nicht die neueste ist, wenn flake8 installiert ist
Ich habe Pygame mit Python 3.5.1 in der Umgebung von pyenv unter OS X installiert
Lösung für das Problem, das Sie nicht aktivieren können, indem Sie conda in pyenv setzen
Überprüfen Sie den Betrieb von OpenCV3, das von Anaconda installiert wurde
2016 Todai Mathematik mit Python gelöst
Ich habe das tiefste Problem von Hiroshi Yuki gelöst.
pyenv funktioniert nicht mit tcl-tk, das von homebrew installiert wurde.
Zu dem Problem, dass der Inhalt von Python print in Docker-Protokollen nicht sichtbar ist
[Python] Ein Programm, das die Anzahl der Täler zählt
Den Inhalt der Daten in Python nicht kennen
Die Geschichte, dass der Rückgabewert von tape.gradient () None war
Beachten Sie, dass ein Problem behoben wurde, als das Jupyter-Notebook eingeführt wurde.
Die Einstellung, die Programmierer haben sollten (The Zen of Python)
[Python] Ein Programm, das die Positionen von Kängurus vergleicht.
Verwenden Sie Python, das von Pyenv mit Sublime REPL von Sublime Text 3 installiert wurde
Eine Bibliothek, die Leben und Tod anderer Maschinen durch Ping von Python aus überwacht
__init__, das von wxPython oder Tkinter aufgerufen wurde, war ein __init__ -Aufruf der geerbten Klasse in Python
Die Geschichte, dass pyenv den Python-Ausführungsbefehl PATH nicht bestanden hat
Ein Memorandum (masOS), das tkinter importiert, konnte nicht mit Python durchgeführt werden, das von pyenv installiert wurde