2010-07-16 21 views
5

Các Python 2.7 cài đặt hình ảnh đĩa cho Mac OS X (python-2.7-macosx10.5.dmg) khẳng định:Tại sao các công cụ dòng lệnh Python 2.7 không nằm trong `/ usr/local/bin` trên Mac OS X?

Trình cài đặt đặt các ứng dụng trong "Python 2.7" trong thư mục Applications, các công cụ dòng lệnh trong/usr/local/bin và máy móc cơ bản trong /Library/Frameworks/Python.framework.

Tuy nhiên, sau khi cài đặt không có tệp Python 2.7 trong /usr/local/bin/.

  • Có phải những người khác đang xem cùng một hành vi không?
  • Tôi cho rằng giải pháp đơn giản là tạo liên kết tượng trưng tương đương với /usr/local/bin là Python 2.6 hoặc tôi có nhìn thấy gì đó không?
+0

Cám ơn thúc đẩy tôi phải cài đặt 2.7, cố gắng bây giờ. –

+0

Đúng, trông giống nhau ở đây. Không có python 2.7 trong/usr/local/bin. Tôi vẫn còn python2.7 trong con đường của tôi mặc dù, vì vậy tôi không biết nếu nó là một vấn đề. –

+0

Tôi không: 'zsh: lệnh không tìm thấy: python2.7' –

Trả lời

4

python.org Trình cài đặt Python cho OS X là gói meta với một tập hợp nhiều gói. Bạn có thể xem các gói bằng cách nhấp vào nút Customize trong quá trình cài đặt. Các liên kết tượng trưng trong /usr/local/bin được cài đặt theo gói UNIX command-line tools. Đối với bản phát hành 2.7, gói đó không còn được chọn theo mặc định. Bạn có thể cài đặt nó và các liên kết bằng cách cài đặt tùy chỉnh và chọn gói đó; nếu bạn đã cài đặt 2.7, hãy chọn chỉ gói đó.

EDIT: Điều đó nói rằng, điều quan trọng là phải nhận ra rằng, với việc xây dựng khung công tác OS X Python, chỉ cần có /usr/local/bin trong đường dẫn tìm kiếm của bạn nói chung là không đủ. Lý do cho điều đó là các kịch bản lệnh python được bao gồm trong các gói, theo mặc định, được cài đặt vào thư mục bin của thư mục Python, ví dụ: /Library/Frameworks/Python.framework/Versions/2.7/bin. Điều này đúng với bất kỳ thứ gì sử dụng các công cụ mặc định hoặc công cụ cài đặt Distutils quấn Distutils, như easy_install (Distribute hoặc setuptools) hoặc pip. Đây là lý do tại sao có một gói trình cài đặt khác, Shell profile updater, được bật theo mặc định và cố gắng sửa đổi hồ sơ đăng nhập của bạn để đặt thư mục bin khung ở phía trước đường dẫn tìm kiếm vỏ của bạn, PATH. Nếu điều đó được thực hiện, các liên kết tượng trưng trong số /usr/local/bin không bắt buộc đối với python2.7 để được gọi.

+1

Tôi đã mở một vấn đề về điều này: http://bugs.python.org/issue9275 –

+0

Ned - Không có các liên kết tượng trưng, ​​tôi đã gặp lỗi khi cố tạo virtualenv bằng Python 2.7 trong khi Python 2.6.5 được cài đặt làm cài đặt mặc định của tôi (nghĩa là tôi có PATH = "/ Library/Frameworks/Python.framework/Phiên bản/2.6/bin: $ {PATH } " trong' ~/.bash_profile' của tôi cho 2.6 không bằng 2,7). Bây giờ các symlink đã được cài đặt, tôi có thể 'mkvirtualenv -p python2.7 foo27' để tạo một virtualenv sử dụng Python 2.7. –

+1

Nếu bạn thêm 2,7/bin vào đường dẫn đến PATH của bạn cũng cần giải quyết vấn đề. Nếu bạn muốn mặc định 'python' vẫn là python.org 2.6, thì bạn sẽ cần phải chèn 2.7/bin sau 2.6 bin:' PATH = "/ Library/Frameworks/Python.framework/Phiên bản/2.6/bin:/Library /Frameworks/Python.framework/Versions/2.7/bin:${PATH} " –

0
11:54 [email protected] find /usr -name python2.7 
11:54 [email protected]

Vâng, điều đó thật đáng buồn.

Tôi sẽ làm theo mẫu mà trình cài đặt Python 2.6 (và trong trường hợp của tôi là 2.5) đã tạo và tạo các liên kết tượng trưng (như bạn đang nghi ngờ). Mẫu vẫn giữ nguyên, ít nhất:

11:57 [email protected] /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 
Python 2.7 (r27:82508, Jul 3 2010, 21:12:11) 
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

Có thể đáng báo cáo lỗi đối với trình cài đặt.

2

Steven Majewski's comment nêu rõ "Tôi tin rằng tôi phải chọn tùy chọn đó một cách rõ ràng (" cài đặt công cụ dòng lệnh ") trong trình cài đặt" khiến tôi nghĩ rằng tôi đã bỏ qua điều gì đó trong trình cài đặt. Chắc chắn rồi, tôi đã bỏ qua tùy chọn Customize. Xem bên dưới.

Optional Customize Python Install http://img.skitch.com/20100716-ede8ausmtch9cb6g4mqp4hcm84.jpg

Select UNIX Command-Line Tools http://img.skitch.com/20100716-817rjbyikr8c4y88xkfj6qeg1p.jpg

+1

Như tôi lưu ý trong phản hồi và bình luận của tôi, trong khi không có gì sai khi cài đặt các liên kết/usr/local/bin với các công cụ dòng lệnh" UNIX " 'package (và tôi đồng ý rằng chúng vẫn nên được cài đặt theo mặc định), làm như vậy là không đủ để có cài đặt 2.7 hoạt động chính xác khi bạn cố gắng cài đặt các gói của bên thứ ba. Theo mặc định, ngay cả 'easy_install' cũng kết thúc trong thư mục' 2.7/bin', không phải '/ usr/local/bin'. –

Các vấn đề liên quan