Cách cài đặt pip cho python 3 trong Ubuntu 12.04 LTS


117

Tôi đang cố gắng cài đặt mô-đun Gối cho python 3.3, nhưng tôi cần cài đặt pip. Mỗi lần tôi cài đặt pip, nó sẽ cài đặt cho python 2.7, có giúp được gì không?


1
nó sẽ dễ dàng với sudo apt-get install python3-pip, tuy nhiên tôi hiểu nó không thể tìm thấy nó. Bạn có vấn đề đó quá không? Bạn đã sửa nó à?
Charlie Parker

Câu trả lời:


141

Cập nhật 2018: Điều này vẫn đang thu hút những người ủng hộ khiến tôi lo lắng.

12.04 đã không được hỗ trợ trong khoảng một năm nay. Cách tốt nhất bạn có thể cài đặt pip3 là nâng cấp lên phiên bản Ubuntu mới hơn, được hỗ trợ. Bạn có 3 phiên bản LTS để chọn.


Mặc dù trên các phiên bản Ubuntu hiện đại hơn mà bạn có thể sudo apt-get install python3-pip(và sau đó sử dụng pip3), bản sao Python 3 pipkhông bao giờ được đóng gói cho 12.04.

Do đó, bạn cần tuân theo lộ trình cài đặt cũ hơn với easy_install:

sudo apt-get install python3-setuptools
sudo easy_install3 pip

Bây giờ, có nhiều khả năng điều này sẽ đụng độ với Python 2 pipghi đè /usr/bin/pip , bởi vì nó sẽ cài đặt một python3 dựa trên /usr/local/bin/pip$ PATH của Ubuntu 12.04.

Nó không nên ghi đè lên nó miễn là bạn biết điều đó, nó có thể được chấp nhận. Tuy nhiên, tốt nhất là bắt đầu điều tra thế giới hạnh phúc virtualenvnhư câu trả lời này cho thấy .

Ngoài ra, bạn có thể đổi tên phiên bản python3 dễ cài đặt của pip:

sudo mv /usr/local/bin/pip /usr/local/bin/pip-3

Sau đó, bạn có thể xác nhận pip hiện tại của bạn vẫn là python2.7:

pip --version

1
Điều này gây ra sự cố cho một số người, với các tệp không thể đọc được trong /usr/local/lib/python3.2/dist-packages/.
Marius Gedminas

1
Đây chắc chắn là câu trả lời tốt nhất cho câu hỏi đã nêu, nhưng nếu một người đang sử dụng phiên bản Ubuntu mới hơn, câu trả lời dmeu dưới đây là phù hợp hơn.
brandizzi

1
Đừng làm điều này. Điều này vòi cài đặt của bạn. Pip8 muốn python3.4 nhưng điều này sẽ đưa vào python3.2 như một yêu cầu cho các công cụ thiết lập python3 và sau đó bạn không thể gỡ cài đặt nó khi pip3 không chạy được do vấn đề tương thích. Nó hoàn toàn phá vỡ mọi thứ. Dưới đây là các ghi chú để đưa bạn trở lại một nơi ổn định getpostdelete.com/unscrewing.txt (đây là cho LTR 12.04). Lưu ý rằng điều này sẽ không chạy như một kịch bản. Đọc từng bình luận và tự quyết định nếu bạn muốn chịu rủi ro liên quan. Đã linuxing được 20 năm nhưng tôi không khẳng định rằng giải pháp này phù hợp với bạn.
kristopolous

1
sudo apt-get install python3-setuptoolssudo easy_install3 piphoạt động tốt trên Ubuntu Trusty (14.04) ;-)
Maxwel Leite

1
bạn git một upvote cho 12.04 đã lỗi thời từ tôi;)
Markus

43

Bạn cũng có thể cài đặt nó sudo apt-get install python3-pipvà sau đó gọi nó bằng pip3. Et voilà


11
Không có trên Ubuntu 12.04 LTS.
Marius Gedminas

2
@MariusGedminas Sau đó, có lẽ bạn không nên sử dụng một kho lưu trữ lỗi thời. Ngay cả khi precisevẫn được hỗ trợ , điều đó không nhất thiết có nghĩa là nó có phần mềm mới nhất. Điều đó chỉ có nghĩa là họ đang giữ nó trực tuyến, trên "repo chính thức", thay vì chuyển nó sang "repo cũ" nơi apt-get sẽ không thể truy cập nó; để quản lý gói của bạn không bị hỏng. Trường hợp cụ thể: Tôi đã thử nó, và nó hoạt động tốt; nguồn của tôi.list sử dụng trustyrepo, có thể được sử dụng trong 12.04 bằng cách chỉ cần thêm một vài bổ sung vào nguồn của bạn.list và thực hiện cập nhật apt-get.
Braden hay nhất vào

1
Cũng lưu ý khả năng anaconda
dmeu

Điều này rất hữu ích khi bạn muốn cài đặt pip3 trên toàn cầu
cyberbikepunk

@BradenBest không chắc điều này có đúng không nhưng có vẻ như đây là phiên bản ubfox trong docker. Tôi nên sử dụng phiên bản nào? Tôi cũng gặp vấn đề khi cài đặt pip3 và muốn cài đặt nó.
Charlie Parker

13

Nếu bạn làm việc với một số phiên bản python trên cùng một máy, có thể hữu ích khi làm việc với môi trường ảo . Điều này cho phép bạn làm việc với bao nhiêu phiên bản python mà bạn muốn, mỗi trường hợp có bộ gói riêng. Điều này rất hữu ích nếu bạn đang làm việc với một số phiên bản python và / hoặc nếu các dự án của bạn yêu cầu các phiên bản khác nhau của cùng một gói.

Để thiết lập điều này:

sudo pip install virtualenv 

Điều này có thể được thực hiện với BẤT K pip pip, vì vậy với pip tiêu chuẩn sử dụng python 2.7. Sau đó, để tạo một môi trường ảo với python3 làm trình thông dịch, hãy làm:

virtualenv my_py3 --python=/usr/bin/python3
source my_py3/bin/activate # to activate the python3 environemt

Sau đó cài đặt bất kỳ gói nào bạn có thể muốn sử dụng

pip install <package> # no sudo required now, as you're IN the virtual environment

Để dừng môi trường ảo, gõ đơn giản:

deactivate

2

Sau khi cài đặt python 3.3 bằng PPA cho Ubuntu 12.04, tôi đã cài đặt easy_install3.3 bằng cách sử dụng cục bộ bằng các lệnh sau

wget http://python-distribute.org/distribute_setup.py
python3.3 -m distribute_setup install --user
easy_install-3.3 --user pip

Điều này tránh gây ô nhiễm cài đặt của trang web pipeasy_install. Cuối cùng, tôi đã thêm vào $HOME/.local/bincon đường của mình. Bây giờ tôi có thể chạy pip3.3!


2

Để thêm vào câu trả lời của dmeu, bạn có thể phải cập nhật /etc/apt/sources.listđể bao gồm các máy nhân bản từ một kho lưu trữ gần đây hơn, chẳng hạn như trusty.

sudo vi /etc/apt/sources.list
sudo apt-get update

Để làm rõ ý nghĩa của hỗ trợ dài hạn, điều đó không nhất thiết có nghĩa là họ luôn precisecập nhật phần mềm mới nhất và tốt nhất. Chắc chắn, bạn sẽ nhận được một vài cập nhật từ nó, nhưng sau đó bạn sẽ gặp trường hợp các gói nhất định không tồn tại, ví dụ như python3-piptồn tại trong trustyrepo chẳng hạn.

LTS có nghĩa là gì, là họ đang giữ preciserepo chính, để người quản lý gói của bạn không bị hỏng. Điều này cuối cùng sẽ cho bạn cơ hội thực hiện cập nhật apt-get, nâng cấp và nâng cấp khi 12.04 cuối cùng trở nên lỗi thời. Họ gọi đó là hỗ trợ, thay vì tiên tiến, vì một lý do.

Nếu tuyến apt-get vẫn không hoạt động, bạn cũng có thể thử tải xuống gói .deb của python3-pip và sử dụng dpkg, còn gọi là trình quản lý gói debian, để cài đặt nó

sudo dpkg -i <name-of-package>.deb

Hi vọng điêu nay co ich.


1
Trên Ubuntu 18.04 LTS mới, sudo apt-get install python3-pipkhông thể tìm thấy python3.pip. Thực hiện sudo apt-get updatesau đó lặp lại cài đặt thất bại làm việc.
David Chính

@DavidChing chỉ trong trường hợp có bất kỳ sự nhầm lẫn nào, Trusty là 14.04.
Braden hay nhất

1

bây giờ tùy chọn yêu thích của tôi là cài đặt anacondahoặc minicondacho python3: https : //www.cContuum.io/doads

Bất kỳ gói có thể được cài đặt bởi conda install package-name

Nếu bạn cần python2, bạn có thể tạo một môi trường ảo:

conda create -n python2 python=2.7 anaconda source activate python2

Xem chi tiết tại đây: https://stackoverflow.com/a/24415581/551694


1

Thêm vũ trụ vào các kho lưu trữ thực hiện các mẹo.
Ở đây tôi tìm thấy nó:

Blockquote Bạn phải kích hoạt danh mục vũ trụ có chứa gói python-pip.

Mở /etc/apt/sources.listbằng trình chỉnh sửa

sudo nano /etc/apt/sources.list

sau đó thêm vũ trụ ở cuối mỗi dòng, như thế này:

deb http://archive.ubuntu.com/ubuntu bionic main **universe**
deb http://archive.ubuntu.com/ubuntu bionic-security main **universe** 
deb http://archive.ubuntu.com/ubuntu bionic-updates main **universe**

sau đó chạy:

sudo apt update

và cuối cùng:

sudo apt install python-pip

0

Tôi đã thử:

sudo-apt get update
sudo apt-get install python3-pip

Điều này dường như để làm cho tôi lừa. Tôi hy vọng điều này sẽ giúp những người khác có cùng một vấn đề.

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.