Sửa lỗi 'E: Package has no installation candidate' trên Ubuntu (python3-pip)

beginner🐧 Linux2026-04-29| Ubuntu 20.04, 22.04, 24.04 LTS, Debian 11/12, WSL2, Docker

Error Message

E: Package 'python3-pip' has no installation candidate
#apt#ubuntu#python#linux-admin

Tóm tắt: Cách sửa nhanh trong 30 giâyLỗi này thường xuất hiện khi cơ sở dữ liệu gói cục bộ của bạn bị lỗi thời hoặc kho lưu trữ cần thiết chưa được kích hoạt. Hầu hết người dùng có thể giải quyết vấn đề này bằng cách chạy ba lệnh sau theo thứ tự:

sudo apt update
sudo add-apt-repository universe
sudo apt update
sudo apt install python3-pip

Điều gì thực sự đang xảy ra?Khi Ubuntu báo lỗi no installation candidate, hệ thống đang thông báo rằng apt có biết về gói này nhưng không thể tìm thấy liên kết tải xuống hợp lệ cho nó. Hãy tưởng tượng nó giống như một danh mục thư viện liệt kê tên sách, nhưng mọi giá sách trong tòa nhà đều trống rỗng.

Tôi thường thấy lỗi này trên các thiết lập WSL2 mới, các container Docker tối giản hoặc các máy chủ VPS đám mây đã lâu không hoạt động. Có một số yếu tố phổ biến dẫn đến tình trạng này:

  • Bộ nhớ đệm lỗi thời (Stale Cache): Hệ thống của bạn đang tìm kiếm các phiên bản tệp không còn tồn tại trên các máy chủ sao lưu (mirrors).- Kho lưu trữ bị ẩn (Hidden Repositories): Gói phần mềm nằm trong kho 'Universe', vốn thường bị tắt trên các bản cài đặt tối giản để tiết kiệm dung lượng.- Sai lệch phiên bản (Version Mismatch): Bạn có thể đang tìm kiếm python-pip (phiên bản Python 2 cũ) thay vì python3-pip.- Hết vòng đời hỗ trợ (End of Life - EOL): Bạn đang chạy một bản phát hành cũ như Ubuntu 21.10 mà các máy chủ chính thức không còn lưu trữ.## Giải pháp từng bước### 1. Làm mới danh mục góiNgay cả khi bạn vừa chạy lệnh cập nhật cách đây một giờ, hãy thực hiện lại. Các máy chủ mirror thay đổi thường xuyên. Lệnh này buộc hệ thống của bạn tải xuống danh sách phần mềm mới nhất từ máy chủ của Ubuntu.
sudo apt update

Hãy chú ý theo dõi terminal. Nếu bạn thấy các dòng bắt đầu bằng "Err" hoặc "W:" (Warnings), có khả năng bạn đang gặp vấn đề về mạng hoặc khóa bảo mật hết hạn thay vì thiếu gói phần mềm. Hãy xử lý những lỗi đó trước.

2. Kích hoạt kho lưu trữ UniverseCác công cụ tiêu chuẩn như python3-pip, htop, và ffmpeg không nằm trong kho lưu trữ "Main". Chúng nằm trong Universe, một phân tầng do cộng đồng duy trì. Trong các môi trường tối giản—đặc biệt là Docker—kho này thường bị tắt theo mặc định.

Kích hoạt nó bằng lệnh sau:

sudo add-apt-repository universe
sudo apt update

Nếu hệ thống của bạn báo add-apt-repository: command not found, nghĩa là bạn đang thiếu một gói hỗ trợ nhỏ (khoảng 10MB). Hãy cài đặt nó trước:

sudo apt update && sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update

3. Xác nhận chính xác tên góiLỗi đánh máy là kẻ sát nhân thầm lặng đối với năng suất. Linux phân biệt chữ hoa chữ thường và quy ước đặt tên đã thay đổi giữa Python 2 và 3. Hãy sử dụng công cụ tìm kiếm để xem chính xác những gì có sẵn trong kho lưu trữ hiện tại của bạn:

apt-cache search pip | grep python3

Nếu python3-pip không xuất hiện trong kết quả, chắc chắn kho lưu trữ của bạn đang bị cấu hình sai.

4. Sửa tệp sources.listNếu vẫn gặp bế tắc, tệp sources.list của bạn có thể đang trống hoặc trỏ đến các URL sai. Hãy mở nó bằng trình soạn thảo văn bản:

sudo nano /etc/apt/sources.list

Đối với hệ thống Ubuntu 22.04 (Jammy Jellyfish) tiêu chuẩn, bạn sẽ thấy các dòng trông như thế này:

deb http://archive.ubuntu.com/ubuntu/ jammy main universe restricted multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-updates main universe restricted multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main universe restricted multiverse

Nếu tệp của bạn trông hoàn toàn khác, hãy thay thế mã tên (ví dụ: "jammy" hoặc "noble") bằng phiên bản cụ thể của bạn. Bạn có thể tìm mã tên bằng cách chạy lệnh lsb_release -c.

Cách xác minh kết quảTrước khi chạy bản cài đặt đầy đủ hơn 150MB, hãy kiểm tra xem apt hiện đã thấy ứng cử viên hợp lệ chưa:

apt-cache policy python3-pip

Kết quả thành công sẽ trông như thế này:

python3-pip:
  Installed: (none)
  Candidate: 22.0.2+dfsg-1ubuntu0.5
  Version table:
     22.0.2+dfsg-1ubuntu0.5 500
        500 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages

Nếu dòng "Candidate" hiển thị một số phiên bản thay vì "(none)", bạn đã sẵn sàng. Hãy tiến hành cài đặt:

sudo apt install python3-pip

Bảng tra cứu nhanh kho lưu trữ- Main: Miễn phí, mã nguồn mở và được hỗ trợ chính thức bởi Canonical.- Universe: Miễn phí và mã nguồn mở, nhưng do cộng đồng duy trì.- Restricted: Các trình điều khiển độc quyền (như Nvidia).- Multiverse: Phần mềm bị hạn chế bởi bản quyền hoặc các rào cản pháp lý.## Tài liệu tham khảo thêm- Hướng dẫn quản lý kho lưu trữ Ubuntu chính thức- Tài liệu hướng dẫn (Manpages) của APT

Related Error Notes