Làm cách nào tôi có thể cập nhật cài đặt Python mặc định / sửa lỗi $ PATH của tôi trên Mac OS X 10.6.7?


8

Tôi biết câu hỏi này đã được hỏi trước đây trên trang web này và tôi đã tìm thấy một vài cuộc thảo luận xứng đáng, nhưng các giải pháp tôi đã tìm thấy và thử không hoạt động. Tôi muốn học Python và tôi gặp khó khăn khi cài đặt nó đúng cách trên máy Mac của mình. Tôi đang chạy OS X 10.6.7.

Tôi đã tải xuống trình cài đặt Python 3.2 từ python.org và cài đặt nó, cài đặt vào /Library/Frameworks/Python.framework/Versions/3.2/bin. Điều này là tốt cho bây giờ vì tôi chỉ có thể sử dụng IDLE để phát triển. Để sử dụng 3.2 từ dòng lệnh bằng cách sử dụng, pythontôi đã cố gắng sắp xếp lại $PATHbiến của mình . Đây là những gì ~/.profiletrông giống như:

PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

Tuy nhiên, pythonvẫn ra mắt 2.6.1:

steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ . ./.profile
steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ 

Sau một thời gian vật lộn, tôi quyết định chỉ cần gỡ cài đặt 3.2 và thử và cập nhật cài đặt hệ thống của Python. Tôi không chắc chắn làm thế nào để làm điều đó đúng, vì vậy tôi cần phải làm cho 3.2 hoạt động với dòng lệnh hoặc cập nhật 2.6.1.

Câu trả lời:


5

Tôi vừa giải quyết vấn đề này bằng cách cài đặt Python 3.2.2 trên Mac OS X Lion của tôi vì vậy tôi nghĩ rằng tôi sẽ đăng bài tôi đã làm như thế nào với hy vọng ai đó có thể thấy nó hữu ích.

Đầu tiên, tôi đồng ý với sắc thái màu sắc ở chỗ bạn không nên sửa đổi bản sao mặc định của python đi kèm với máy Mac của bạn vì có thể có các tập lệnh có thể không hoạt động chính xác khi chạy bằng trình thông dịch Python 3.0+. Phải nói rằng, để cài đặt Python mới nhất (3.2.2 tại thời điểm đăng bài này), trước tiên bạn nên tải xuống trình cài đặt Python từ trang web chính thức. Cài đặt như bình thường. Chạy tệp "Update Shell Profile.command" trong thư mục / Ứng dụng / Python (ver).

Sau khi python đã được cài đặt, bạn cần chỉnh sửa đường dẫn của mình bằng cách nhập "sudo nano / etc / path" vào dòng lệnh. Tiếp theo, nhập mật khẩu của bạn khi được nhắc. Tiếp theo chỉ cần "cắt" dòng "/ usr / local / bin" và "dán" nó TRƯỚC KHI xảy ra "/ usr / bin". Lưu tệp, đóng bất kỳ thiết bị đầu cuối đang mở và chạy một phiên bản mới của thiết bị đầu cuối. Bây giờ khi bạn gõ "python" tại dòng lệnh, shell sẽ tìm kiếm qua / usr / local / bin trước và chạy bản sao mới nhất của python.


+1 vì tôi đã cố gắng tìm hiểu điều này cả ngày. Thật vậy, trên Snow Leopard, nếu cài đặt PATH trong cấu hình shell của bạn không hoạt động, chỉnh sửa /etc/pathnhư bạn đã đề xuất sẽ hoạt động hoàn hảo. Đối với tôi, vấn đề là làm cho cả emacs đồ họa và thiết bị đầu cuối nhận ra tôi muốn sử dụng cài đặt python tùy chỉnh. Cảm ơn vì tiền hỗ trợ!
jrhorn424

này làm việc nếu tôi cũng cd /usr/local/bincp python3.7 pythonvà khởi động lại thiết bị đầu cuối của tôi.
openwonk

1

Theo kinh nghiệm của tôi, sử dụng symlink cùng với PATH được sắp xếp hợp lý là cách để có nhiều phiên bản Python cùng tồn tại trong OS X hoặc bất kỳ nix nào khác tôi có thể nghĩ ra. OS X chỉ là một chút ngớ ngẩn, nhưng nó hoạt động theo cùng một cách.

Trước tiên hãy lấy hình ảnh đầy đủ bằng cách chạy các lệnh sau:

which python

Sau đó:

ls -la /usr/bin/python*

và so sánh với:

ls -la /usr/local/bin/python*

Xem nơi các liên kết được trỏ.

Dựa trên PATH mà bạn đã đăng, vì / usr / bin xuất hiện sau / usr / local / bin và những cái khác mà bạn có thể đang sử dụng trình thông dịch python hệ thống:

/usr/bin/python

Nếu bạn đã cài đặt python3.0, nó có thể sẽ chạy như sau:

/usr/local/bin/python

Bây giờ bạn đã biết những gì đang chỉ ở đâu và trình thông dịch nào đang được tải từ PATH, bạn có thể thực hiện các thay đổi phù hợp cho PATH và / hoặc symlink. Sau đó, bạn có thể sử dụng các kỹ thuật tương tự để xác nhận các thay đổi thích hợp.

Để biết thêm thông tin tốt về cài đặt python trên macOS, hãy đi sâu vào python3farmdev .


/usr/local/bin/pythonkhông tồn tại nhưng /usr/local/bin/python3không. python3 --versioncung cấp cho cài đặt của tôi (3.2). Tôi có thể đơn giản đổi tên symlink đó thành pythonđể tôi không phải gõ 3 không?
Steven Zezulak

Nếu PATH của bạn được sắp xếp chính xác (/ usr / local / bin đến sau / usr / bin), thì bạn có thể tạo một liên kết tượng trưng cho điều đó.
Somantra

1
Nhưng nếu / usr / bin xuất hiện sau / usr / local / bin thì nó sẽ tiếp tục tải hệ thống python (/ usr / bin / python).
Somantra

0

Có thể nếu bạn cài đặt Python thông qua MacPorts, nó sẽ nâng cấp phiên bản hệ thống. Tôi thực sự nghi ngờ là không, vì điều đó có vẻ nguy hiểm đối với tôi. Nhưng bạn có thể muốn kiểm tra MacPorts làm gì khi bạn cài đặt Python với nó.


0

Tôi đã hỏi ai đó câu hỏi này trước đây và tôi được khuyên không nên thay đổi phiên bản mặc định của python vì các phần của hoạt động có thể phụ thuộc vào phiên bản 2.7 đang ở đâu. Điều đó được nói rằng không có nhiều công việc hơn để đặt lệnh python3 trong đường dẫn của bạn. Đó là những gì tôi đang làm vào lúc này và nó có vẻ ổn.


0

Nếu bạn đã sử dụng trình cài đặt, python của bạn nằm trong / usr / local / bin / python3. Đường dẫn cũng nên được cập nhật tự động để có sẵn như python3trong thiết bị đầu cuối của bạn. Cũ pythonvẫn có sẵn và có thể được sử dụng bởi các hệ thống khác.

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.