Các tác vụ được mô tả trên trang web tìm hiểu về công việc không phân biệt phiên bản scikit-learning trong EPD. Python sẽ tự động sử dụng phiên bản scikit-learning được thiết lập trong PYTHONPATH
environment variable, mà bạn nên đặt thành đường dẫn thư mục của phiên bản Git của scikit-learn.
Nếu bạn sử dụng Bash trên một hệ thống Unix-like, bạn nên làm như sau:
- Thực hiện các hành động để install scikit-learn's latest code (trong ví dụ này tôi nhân bản nó để
/home/yourname/bin/scikit-learn
)
- Sửa
.bashrc
và thêm dòng: export PYTHONPATH="/home/yourname/bin/scikit-learn";
- mở một nhà ga mới và bắt đầu Python trong chế độ tương tác bằng cách gõ
python
- Loại: 012.
- Loại:
sklearn.__verion__
này bây giờ sẽ hiển thị '0.12-git'
thay vì 0.11
Tại sao công việc này? Python sử dụng biến số sys.path
(một list
đường dẫn) trong nội bộ để theo dõi tất cả các thư mục cần tìm các mô-đun và gói. Một khi một mô-đun hoặc gói được yêu cầu, Python sẽ tuần tự đi qua danh sách này cho đến khi nó đã tìm thấy một kết quả phù hợp. Vì vậy, ví dụ: một mô-đun có thể được liệt kê nhiều lần trong sys.path
, nhưng chỉ phiên bản xuất hiện đầu tiên trong danh sách mới được sử dụng.
Mọi cài đặt Python sẽ có tập hợp đường dẫn mặc định riêng được liệt kê trong sys.path
. Một cách để mở rộng sys.path
bằng cách liệt kê đường dẫn trong PYTHONPATH
. Khi Python bắt đầu, nó sẽ đọc biến môi trường này và thêm nó vào đầu danh sách sys.path
. Vì vậy, nếu bạn thêm đường dẫn đến một phiên bản khác của scikit-learn để PYTHONPATH
của bạn sau đó (EPD) Python sẽ tìm thấy phiên bản của scikit-tìm hiểu đầu tiên và sử dụng nó thay vì phiên bản được liệt kê thêm trong sys.path
.
Để xem sys.path
, chỉ cần import sys
và sau đó print sys.path
. Ngoài ra, ví dụ: nếu bạn chỉ muốn sử dụng phiên bản 0.12 của scikit-learn trong một chương trình Python và sử dụng giá trị 0.11 phiên bản như mặc định trong tất cả các chương trình Python khác thì bạn có thể rời khỏi PYTHONPATH
trống và chỉ chèn đường dẫn đến scikit-học 0,12 bằng tay ở phía trên cùng của mã của bạn:
import sys
sys.path.insert(0, '/home/yourname/bin/scikit-learn')
import sklearn
On Stack Overflow cộng đồng cho downvotes lời các câu hỏi xấu và upvotes để câu hỏi tốt. Tôi sẽ để lại câu hỏi cho bây giờ, nhưng nếu mọi người bắt đầu downvote nó sau đó bạn có một dấu hiệu tốt mà bạn có thể muốn xóa nó. – Sicco
Tôi đã gặp sự cố tương tự nhưng tôi có máy Mac. Tôi đã quản lý để cài đặt scikit chỉ thông qua macports (không sử dụng scikits setup.py, luôn luôn kết thúc bằng lỗi giữa chiều). Tuy nhiên, tôi không thể tìm thấy bashrc. Tất cả những gì tôi muốn làm là cập nhật Scikit trong EPD (học thuật) lên .13, và nó chứng tỏ rất khó, bất kỳ sự trợ giúp nào cũng sẽ được đánh giá cao! – Shinjitsu
@Shinjitsu Hãy thử sử dụng .profile thay vì .bashrc. Cho tôi biết nếu nó hoạt động. – Sicco