Bagaimana saya bisa menggunakan Homebrew Python dengan Homebrew MacVim di Mountain Lion?

14

Saya awalnya bertanya dan menjawab pertanyaan ini: Bagaimana saya bisa menggunakan versi Homebrew Python dengan Homebrew MacVim?

Instruksi ini berfungsi pada Snow Leopard menggunakan Xcode 4.0.1 dan alat pengembang yang terkait. Namun, mereka sepertinya tidak lagi bekerja di Mountain Lion dengan Xcode 4.4.1.

Tujuan saya adalah membiarkan versi sistem Python sepenuhnya tidak tersentuh, dan hanya menginstal paket-paket PyPI ke site-packagesdirektori Homebrew . Saya ingin menggunakan paket vim_bridge di MacVim, jadi saya perlu mengkompilasi MacVim terhadap versi Homebrew Python.

Saya telah mengedit rumus MacVim untuk menambahkan ini ke argumen:

--enable-pythoninterp=dynamic
--with-python-config-dir=/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/Current/lib/python2.7/config

Kemudian saya instal dengan perintah:

brew install macvim --override-system-vim --custom-icons --with-cscope --with-lua

Namun, sepertinya masih menggunakan Python 2.7.2 dari sistem. Ini aneh bagi saya karena tampaknya juga menggunakan executable yang benar.

:python print(sys.version)
2.7.2 (default, Jun 20 2012, 16:23:33)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)]

:python print(sys.executable)
/usr/local/bin/python

$ /usr/local/bin/python --version
Python 2.7.3

$ /usr/local/bin/python -c "import sys; print(sys.version)"
2.7.3 (default, Aug 12 2012, 21:17:22) 
[GCC 4.2.1 Compatible Apple Clang 4.0 ((tags/Apple/clang-421.0.60))]

$ readlink /usr/local/lib/python2.7/config
/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/Current/lib/python2.7/config

Saya telah menghapus semuanya /usr/localdan menginstal ulang Homebrew dengan menjalankan perintah ini:

$ ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)
$ brew install git mercurial python ruby
$ brew install macvim
   (nope, still broken)
$ brew remove macvim
$ ln -s /usr/local/Cellar/python/..../python2.7/config /usr/local/lib/python2.7/config
$ brew install macvim
Stephen Jennings
sumber
Sudahkah Anda mencoba menjalankan brew link pythondan kemudian python --versionpada terminal baru?
Rash
@ user1099816 Python sudah ditautkan di / usr / local / bin, dan versi Python di jalur saya adalah 2.7.3.
Stephen Jennings
Saya tidak dapat mereproduksi ini ... Saya pikir kami kehilangan sesuatu tentang lingkungan Anda. Symlink ke: /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/Current/lib/python2.7/config - yang disebutkan dalam pertanyaan sebelumnya ... apakah itu mundur?
Randall Hunt
@ranman /usr/local/lib/python2.7/config disinkronkan dengan /usr/local/Cellar/.../lib/python2.7/config, yang berisi config.c, di antara file-file lain.
Stephen Jennings
Apakah Anda menginstal versi rumus yang sama dan versi MacVim yang sama persis di kedua sistem? Mungkin ada sesuatu yang pecah antara rilis dan peningkatan Anda tidak terkait?
Daniel Beck

Jawaban:

22

Bukan jawaban yang bagus di sini, tetapi saya ingin meninggalkan catatan yang menyatakan bahwa saya mengalami masalah yang sama persis pada instalasi ~ Mountain Lion baru.

Ada beberapa diskusi menarik di tautan di bawah ini yang menyarankan bug kontroversial antara MacVim dan Python mengkonfigurasi file ... tetapi membuat perubahan yang disarankan pada file konfigurasi tidak bekerja untuk saya (dengan asumsi saya melakukannya dengan benar).

/programming/6490513/vim-failing-to-compile-with-python-on-os-x/8276426#8276426

Apa yang melakukan pekerjaan untuk saya adalah, ahem, menggigit peluru dan hanya symlinking sistem python install ke homebrew. Terasa kotor, tapi setidaknya saya mendapatkan omnicomplete yang bekerja pada modul pihak ketiga sekarang ...

cd /System/Library/Frameworks/Python.framework/Versions
sudo mv Current Current-sys
sudo ln -s /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7 Current

brew install macvim

sudo mv Current Current-brew
sudo mv Current-sys Current
Mike Repass
sumber
A-ha! Jadi saya mencoba memodifikasi Makefile terlebih dahulu, kemudian juga symlinking framework /System/Library/Frameworks, dan sekarang berfungsi bahkan setelah mengembalikan symlink. Saya akan kembali dan mencari tahu apakah keduanya diperlukan, dan mungkin mencoba untuk menggali apa yang sedang terjadi, tetapi Anda pasti mendapatkan terima kasih saya (dan karunia; tidak buruk mendapatkan 200 rep untuk jawaban pertama Anda)!
Stephen Jennings
1
Ya, bahkan jika saya mengembalikan Makefile, selama saya memiliki /System/Library/.../Currentsymlink ke versi Homebrew, MacVim mengkompilasi dengan 2.7.3.
Stephen Jennings
Luar biasa! Sangat senang itu berhasil. Selamat Vimming.
Mike Repass
Hanya ingin mengatakan bahwa ini memperbaiki masalah saya juga.
Jeremy Cantrell
Saya memiliki masalah ini selama beberapa hari juga dan sekali saya menggunakan brew install macvim , saya menggunakan perintah brew link --overwrite macvim dan kemudian bekerja dengan sempurna!
SamTebbs33
2

Saya baru saja mendorong perbaikan 1 sehingga MacVim dibangun dengan Python yang diseduh (jika Anda memilikinya) dan berhasil memuat powerline (saya menginstalnya setelah python diseduh melalui pip install pip install git+git://github.com/Lokaltog/powerline). Jangan lupa untuk mengatur ~/.vimrc.

Jangan pernah mengubah nama hal-hal di dalamnya /System.

Silakan, kembali perubahan lokal, mengembalikan Anda /System, brew updatedan brew rm macvimdan akhirnya brew install macvim.

Samuel John
sumber