Tôi đã cố gắng biên dịch Python 2.7 từ nguồn.
Dưới đây là lệnh của tôi:Báo cáo nhị phân Python biên dịch phiên bản sai
./configure --prefix=/my/local/dir --exec-prefix=/my/local/dir --enable-shared --with-pydebug
make
make install
Và đầu ra của which python
là /my/local/dir/bin/python
, đó là chính xác.
Nhưng khi tôi chạy python --version
Tôi thấy Python 2.7.3
thay vì Python 2.7.10
.
Phiên bản hệ thống của Python là 2.7.3. Nó có thể là phiên bản hệ thống của Python bằng cách nào đó liên kết chính nó chống lại các phiên bản địa phương, biên dịch? Hay tôi đang làm gì sai?
Edit:
Kết quả của ./my/local/dir/bin/python --version
cũng là Python 2.7.3
Chỉnh sửa 2:
Có vẻ như nếu tôi thoát khỏi --enable-shared
cờ nó sẽ sản xuất phiên bản đúng của Python, nhưng tôi cần lá cờ đó cho phần mềm khác của tôi hoạt động.
Điều gì xảy ra nếu bạn chạy '/ my/local/dir/bin/python --version'? Nếu trường hợp này là chính xác, thì trình bao của bạn chỉ đơn giản là lưu vào bộ nhớ đệm vị trí của 'python', như o11c đã đề cập. – Laogeodritt
@Laogeodritt Đầu ra vẫn là 'Python 2.7.3' – mpang
Trên một số hệ thống,' which' được thực hiện như một chương trình thay vì một shell được xây dựng và có thể không cho bạn biết shell thực sự sẽ chạy. Tốt nhất để xem bất kỳ lệnh nào cho bạn biết shell thực sự nghĩ gì. Đối với 'bash', lệnh đó là' type'. Nhìn vào 'loại trợ giúp' để biết thêm. –