Làm cách nào tôi có thể sử dụng Python Homebrew với Homebrew MacVim trên Mountain Lion?


14

Ban đầu tôi đã hỏi và trả lời câu hỏi này: Làm cách nào tôi có thể sử dụng phiên bản Homebrew Python với Homebrew MacVim?

Các hướng dẫn này đã hoạt động trên Snow Leopard bằng Xcode 4.0.1 và các công cụ dành cho nhà phát triển được liên kết. Tuy nhiên, dường như chúng không còn hoạt động trên Mountain Lion với Xcode 4.4.1.

Mục tiêu của tôi là để phiên bản Python của hệ thống hoàn toàn không bị ảnh hưởng và chỉ cài đặt các gói PyPI vào site-packagesthư mục của Homebrew . Tôi muốn sử dụng gói vim_bridge trong MacVim, vì vậy tôi cần biên dịch MacVim với phiên bản Homebrew của Python.

Tôi đã chỉnh sửa công thức MacVim để thêm các công thức này vào các đối số:

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

Sau đó, tôi cài đặt với lệnh:

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

Tuy nhiên, dường như vẫn bằng cách nào đó sử dụng Python 2.7.2 từ hệ thống. Điều này có vẻ lạ đối với tôi bởi vì nó dường như cũng đang sử dụng đúng thực thi.

: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

Tôi đã xóa mọi thứ trong /usr/localvà cài đặt lại Homebrew bằng cách chạy các lệnh sau:

$ 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

Bạn đã thử chạy brew link pythonvà sau đó python --versiontrên một thiết bị đầu cuối mới?
Phát ban

@ user1099816 Python đã được liên kết trong / usr / local / bin và phiên bản Python trong đường dẫn của tôi là 2.7.3.
Stephen Jennings

Tôi không thể tái tạo điều này ... Tôi nghĩ rằng chúng ta đang thiếu một cái gì đó về môi trường của bạn. Liên kết tượng trưng đến: /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/Cản/lib/python2.7/config - được đề cập trong câu hỏi trước ... có phải là ngược không?
Randall Hunt

@ranman /usr/local/lib/python2.7/config được liên kết với /usr/local/Cellar/.../lib/python2.7/config, có chứa config.c, trong số các tệp khác.
Stephen Jennings

Bạn có đang cài đặt cùng một phiên bản công thức và cùng một phiên bản MacVim trên cả hai hệ thống không? Có lẽ một cái gì đó đã phá vỡ giữa các phiên bản và nâng cấp của bạn không liên quan?
Daniel Beck

Câu trả lời:


22

Không phải là một câu trả lời hay ở đây, nhưng tôi muốn để lại một ghi chú xác nhận rằng tôi đã gặp phải vấn đề tương tự chính xác này trên bản cài đặt ~ Lion Mountain mới.

Có một số cuộc thảo luận thú vị ở liên kết bên dưới gợi ý một lỗi gây tranh cãi giữa các tệp cấu hình MacVim và Python ... nhưng việc thay đổi được đề xuất trong tệp cấu hình không hoạt động với tôi (giả sử tôi đã làm đúng).

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

Những gì đã làm cho tôi là, ahem, cắn viên đạn và chỉ liên kết symthon cài đặt hệ thống với homebrew. Cảm thấy bẩn, nhưng ít nhất tôi nhận được toàn bộ omnicomplete làm việc trên các mô-đun của bên thứ ba ...

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

A-ha! Vì vậy, trước tiên tôi đã thử sửa đổi Makefile, sau đó cũng liên kết khung trong /System/Library/Frameworksvà bây giờ nó hoạt động ngay cả sau khi khôi phục liên kết tượng trưng. Tôi sẽ quay lại và tìm hiểu xem cả hai có cần thiết không, và có thể cố gắng tìm hiểu xem chuyện gì đang xảy ra, nhưng bạn chắc chắn nhận được lời cảm ơn của tôi (và tiền thưởng; không tệ khi nhận được 200 rep cho câu trả lời đầu tiên của bạn)!
Stephen Jennings

1
Có, ngay cả khi tôi đặt Makefile trở lại, miễn là tôi đã liên /System/Library/.../Currentkết với phiên bản của Homebrew, MacVim biên dịch với 2.7.3.
Stephen Jennings

Tuyệt vời! Rất vui vì nó hoạt động được. Chúc mừng hạnh phúc.
Mike Repass

Chỉ muốn nói rằng điều này cũng khắc phục vấn đề của tôi.
Jeremy Cantrell

Tôi đã gặp vấn đề này trong một vài ngày và một khi tôi đã sử dụng brew install macvim , tôi đã sử dụng lệnh brew link --overwrite macvim và sau đó nó hoạt động hoàn hảo!
SamTebbs33

2

Tôi vừa đẩy một bản sửa lỗi 1 để MacVim xây dựng với Python được ủ (nếu bạn có) và tải thành công đường dây điện (tôi đã cài đặt nó sau khi con trăn được ủ của tôi qua pip install pip install git+git://github.com/Lokaltog/powerline). Đừng quên thiết lập của bạn ~/.vimrc.

Đừng bao giờ đổi tên những thứ bên trong /System.

Xin vui lòng, hoàn nguyên thay đổi địa phương, khôi phục của bạn /System, brew updatebrew rm macvimvà cuối cùng brew install macvim.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.