Cài đặt mô-đun bằng pip cho phiên bản python cụ thể


138

Trên Ubuntu 10.04 theo mặc định Python 2.6 được cài đặt, sau đó tôi đã cài đặt Python 2.7. Làm cách nào tôi có thể sử dụng pip installđể cài đặt các gói cho Python 2.7.

Ví dụ:

pip install beautifulsoup4

theo mặc định cài đặt BeautifulSoup cho Python 2.6

Khi tôi làm:

import bs4

trong Python 2.6 nó hoạt động, nhưng trong Python 2.7 nó nói:

No module named bs4


Câu trả lời:


54

Sử dụng một phiên bản pipđược cài đặt dựa trên phiên bản Python mà bạn muốn cài đặt các gói mới.

Trong nhiều bản phân phối, có thể có các gói python2.6-pippython2.7-pipgói riêng biệt , được gọi với các tên nhị phân như pip-2.6pip-2.7. Nếu pip không được đóng gói trong bản phân phối của bạn cho mục tiêu mong muốn, bạn có thể tìm gói setuptools hoặc easyinstall hoặc sử dụng virtualenv (sẽ luôn bao gồm pip trong môi trường được tạo).

Trang web của pip bao gồm các hướng dẫn cài đặt , nếu bạn không thể tìm thấy bất cứ điều gì trong bản phân phối của mình.


6
Tôi không có cả pip-2.6 hay pip-2.7
torayeff

1
@torayeff Bạn có tìm kiếm các gói pip dành riêng cho phiên bản không? Đóng gói là dành riêng cho phân phối, do đó bạn sẽ cần phải tự mình thực hiện một chút công việc (tìm kiếm thông qua danh sách gói có sẵn) hoặc hỏi kênh hỗ trợ dành riêng cho Ubuntu.
Charles Duffy

1
Tôi đã thử easy_install -d /usr/local/lib/python2.7/ beautifulsoup4, nhưng nó không hoạt động, ý của bạn là gì?
torayeff

3
@torayeff điều tương tự áp dụng cho easy_install như với pip - bạn nên sử dụng phiên bản được xây dựng dựa trên trình thông dịch bạn đang cố gắng cài đặt các gói cho. "Legwork" là một chủ nghĩa thông tục đề cập đến nỗ lực, điển hình của một loại không đặc biệt thách thức trí tuệ nhưng có thể tốn thời gian (nghĩ giống như một công việc đòi hỏi thời gian để đi bộ xung quanh) ... trong trường hợp này, xem xét Danh sách gói Ubuntu.
Charles Duffy

1
@torayeff ... và một lần nữa, nếu bạn không thể tìm thấy gói pip của Ubuntu hoặc dễ cài đặt cụ thể cho Python 2.7, bạn có thể cài đặt pip bằng tay theo hướng dẫn tôi đã liên kết trong câu trả lời của tôi; chỉ cần chắc chắn để sử dụng python2.7thực thi khi đi qua các hướng dẫn.
Charles Duffy

189

Ngoài ra, vì pipbản thân nó được viết bằng python, bạn chỉ có thể gọi nó bằng phiên bản python mà bạn muốn cài đặt gói cho:

python2.7 -m pip install foo

1
Vì tôi đang cài đặt với pip trong môi trường ảo (nhưng cần chạy nó với python hệ thống trong một số trường hợp, với bộ PYTHONPATH - ví dụ: khi sử dụng bất cứ thứ gì phụ thuộc vào wxPython), đây là lệnh hoạt động với tôi.
Aaron D

6
Giải pháp TỐT NHẤT cho tất cả các vấn đề về Python2 và Python3!
Harsh Vardhan Ladha

9
Tôi nên lưu ý rằng cách đúng để gọi một mô-đun bằng python là vớipython 2.7 -m pip install foo
llrs 22/2/2016

2
Tôi không thể đưa ra câu trả lời này đủ. Cuối cùng đã giải quyết vấn đề đau đớn này trên DietPi (Raspberry distro)
Pitto

1
@Sergio Có vẻ như -m đang ở sai vị trí của tôi, tôi nghĩ rằng lệnh nên giống hơnpy37 -m "location-of-pip" install numpy
jrh

53

Bạn có thể thực thi mô-đun pip cho một phiên bản python cụ thể bằng cách sử dụng python tương ứng:

Python 2.6:

python2.6 -m pip install beautifulsoup4

Python 2.7

python2.7 -m pip install beautifulsoup4

3
Tôi lùng sục trên mạng nhiều lần, tìm kiếm lệnh này. Tôi đoán hầu hết mọi người sử dụng một môi trường ảo để giải quyết vấn đề này, nhưng là một chiến lược khả thi hơn nhiều đối với tôi.
Dave Liu

Điều gì sẽ xảy ra nếu tôi ở trong tập lệnh python của tôi đang gọi pip cài đặt beautifulsoup4. Làm thế nào tôi có thể chắc chắn rằng tập lệnh được gọi với cờ -m?
Ogen

Đây là mảnh ghép cuối cùng của tôi, cảm ơn bạn! pippip3cả hai đều bị khóa với python3.X vì vậy tôi đã phải sử dụng phương pháp này như một cách cài đặt đường
ống

25

Bạn có thể sử dụng cú pháp này

python_version -m pip install your_package

Ví dụ. Nếu bạn đang chạy python3.5, bạn đặt tên nó là "python3" và muốn cài đặt gói numpy

python3 -m pip install numpy

Đây giống như câu trả lời của tôi, nhưng tốt hơn, vì nó không cần phải loay hoay với các đường dẫn hệ thống.
Turion

Có vẻ như đây sẽ là câu trả lời tốt nhất. Làm việc hoàn hảo với tôi là tốt.
LogicOnAdstrstr

18

Trong Windows, bạn có thể thực thi mô-đun pip bằng cách đề cập đến phiên bản python (Bạn cần đảm bảo rằng trình khởi chạy nằm trên đường dẫn của bạn)

py -2 -m pip install pyfora

1
Tiếng Phạn. Nó thức dậy trong trường hợp của tôi. Tôi có phiên bản 3.4 và 3.7. Tôi đã phải chạy py -3,7 -m pip install -r tests.txt để sử dụng pip liên kết với python 3.7
Rodrigorf

6

Ngoài ra, nếu bạn muốn cài đặt phiên bản cụ thể của gói với phiên bản cụ thể của python, đây là cách

sudo python2.7 -m pip install pyudev=0.16

nếu "=" không hoạt động, hãy sử dụng ==

x@ubuntuserv:~$ sudo python2.7 -m pip install pyudev=0.16

Yêu cầu không hợp lệ: 'pyudev = 0.16' = không phải là toán tử hợp lệ. Ý bạn là ==?

x@ubuntuserv:~$ sudo python2.7 -m pip install pyudev==0.16

hoạt động tốt


4

Con trăn 2

sudo pip2 install johnbonjovi  

Con trăn 3

sudo pip3 install johnbonjovi

1
Điều này không hoạt động khi bạn có nhiều cài đặt python3. Tôi có 3.43.5, và tôi không thể làm pip installgì được 3.4.
byxor

3

Nếu bạn đã cài đặt cả hai phiên bản 2.7 và 3.x của python, thì chỉ cần đổi tên tệp python exe của phiên bản python 3.x thành một cái gì đó như - "python.exe" thành "python3.exe". Bây giờ bạn có thể sử dụng pip cho cả hai phiên bản. Nếu bạn thường gõ "pip install", nó sẽ xem xét phiên bản 2.7 theo mặc định. Nếu bạn muốn cài đặt nó trên phiên bản 3.x, bạn cần gọi lệnh là "python3 -m pip install".


2

Đối với Python 3

sudo apt-get install python3-pip
sudo pip3 install beautifulsoup4

Đối với Python 2

sudo apt-get install python2-pip
sudo pip2 install beautifulsoup4

Trên Debian / Ubuntu, piplà lệnh sử dụng khi cài đặt gói cho Python 2, trong khi đó pip3là lệnh sử dụng khi cài đặt gói cho Python 3.


câu trả lời này rơi khi cả hai bạn có python3.6 và python3.7 chẳng hạn. Sau đó pip3 sẽ cài đặt các gói chỉ cho python3 mặc định.
muyustan


1

Như với bất kỳ tập lệnh python nào khác, bạn có thể chỉ định cài đặt python mà bạn muốn chạy nó. Bạn có thể đặt cái này trong hồ sơ shell của bạn để lưu bí danh. Đề $1cập đến đối số đầu tiên bạn chuyển đến tập lệnh.

# PYTHON3 PIP INSTALL V2
alias pip_install3="python3 -m $(which pip) install $1"

0

Tôi đã cài đặt Python 2.7 qua chocolatey trên Windows và tìm thấy pip2.7.exetrong C:\tools\python2\Scripts.

Sử dụng thực thi này thay vì piplệnh đã cài đặt mô-đun chính xác cho tôi ( requestsđối với Python 2.7).


0

Tôi gặp phải một vấn đề tương tự với một gói khác gọi là Twisted. Tôi muốn cài đặt nó cho Python 2.7, nhưng nó chỉ được cài đặt cho Python 2.6 (phiên bản mặc định của hệ thống).

Làm một thay đổi đơn giản làm việc cho tôi.

Khi thêm đường dẫn của Python 2.7 vào $PATHbiến của bạn , hãy thêm nó vào phía trước như thế này : PATH=/usr/local/bin:$PATH, để hệ thống sử dụng phiên bản đó.

Nếu bạn gặp nhiều vấn đề hơn, bạn có thể theo dõi bài đăng trên blog này đã giúp tôi - https://github.com/h2oai/h2o-2/wiki/installing-python-2.7-on-centos-6.3.-follow-this- resultence -exactly-for-centos-machine-only

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.