Cara menggunakan pip dengan Python 3.x bersama Python 2.x


196

Saya menginstal Python 3.x (selain Python 2.x di Ubuntu) dan perlahan-lahan mulai memasangkan modul yang saya gunakan di Python 2.x.

Jadi saya bertanya-tanya, pendekatan apa yang harus saya ambil untuk membuat hidup saya mudah dengan menggunakan pip untuk kedua Python 2.x dan Python 3.x?


2
Secara pribadi, saya akan menghindari instalasi paket global dan menggunakan virtualenv. Kemudian Anda menggunakan pip dari dalam lingkungan virtual Anda untuk setiap proyek, dan Anda selalu menggunakan yang benar.
jpmc26

Jawaban:


183

Pendekatan yang harus Anda ambil adalah menginstal pipuntuk Python 3.2.

Anda melakukan ini dengan cara berikut:

$ curl -O https://bootstrap.pypa.io/get-pip.py
$ sudo python3.2 get-pip.py

Kemudian, Anda dapat menginstal hal-hal untuk Python 3.2 dengan pip-3.2, dan menginstal hal-hal untuk Python 2-7 dengan pip-2.7. The pipperintah akan berakhir menunjuk ke salah satu dari ini, tapi aku tidak yakin, sehingga Anda akan harus memeriksa.


9
Ini mudah, terima kasih. sudo python3.2 get-pip.pymenginstal pipdan pip-3.2skrip di /usr/local/bindan keduanya secara logis menggunakan Python 3. sudo python get-pip.pymenginstal pipdan di pip-2.7sini, jadi dalam hal ini pipmenggunakan Python 2.7. Aku tambahan buat link pip-3.2sebagai pip3dan diuji: Sempurna! :)
theta

6
Di Fedora, ini pip3.3, yaitu, tanpa tanda hubung antara pip dan versi. Periksa /usr/binuntuk melihat versi pip mana yang Anda miliki di sana.
Shailen

5
[x] Ubuntu juga menggunakan [ pip2 | pip2.7 | pip3 | pip3.4 ]. Apakah ini perubahan pipatau perbedaan antara sistem yang berbeda?
Jon Surrell

Setelah mengeksekusi saya mendapatYou're using an outdated location for the get-pip.py script, please use the one available from https://bootstrap.pypa.io/get-pip.py
Kevin Brotcke

Jadi lakukan itu. :-)
Lennart Regebro

53

Yang juga bisa Anda lakukan adalah menggunakan apt-get:

apt-get install python3-pip

Dalam pengalaman saya ini berfungsi sangat lancar juga, ditambah Anda mendapatkan semua manfaat dari apt-get.


2
Pada 12,04 saya tidak bisa melakukan ini.
dranxo

15
Saya berhasil menggunakan ini (yaitu sudo apt-get install python3-pip) dan kemudian dapat menginstal paket python3 menggunakan "sudo python3 -m pip install package".
Tom Sleeve

2
Sampai hari ini, saya percaya apt-get memberi Anda versi 1.5.6 yang ketinggalan zaman; jika Anda tidak ingin AssertionErrror selama pip freeze > requirements(atau bug potensial lainnya), lakukan instal dari sumber untuk versi terbaru dan simpan diri Anda dari sakit kepala.
Yibo Yang

harus di-root untuk menginstalpython3-pip
Florent

Meskipun menginstal pipmenggunakan python3.7 pipmasih digunakan secara default dengan Python 2.7 di ubuntu 14.04 :( Saya telah berhasil memperbarui pip ke versi terbaru yaitu 19.3.1 tetapi masih mengambil default ke python2.7. Bagaimana menggunakannya dengan python 3.7 ?
Penasaran Pengembang

48

Pertama, instal Python 3 pip menggunakan:

sudo apt-get install python3-pip

Kemudian, untuk menggunakan Python 3 pipgunakan:

pip3 install <module-name>

Untuk Python 2 pipdigunakan:

pip install <module-name>

4
Tidak ada pip Python 2, itu tergantung pada OS yang Anda gunakan. Misalnya pada Arch Linux pip --versionmenyatakan bahwa berjalan di python 3.6 secara default.
Daniel Andrei Mincă

yang tampaknya solusi paling intuitif dan mudah bagi saya, terima kasih!
gebbissimo

15

Jika Anda tidak ingin harus menentukan versi setiap kali Anda menggunakan pip :

Instal pip:

$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python3

dan ekspor jalur:

$ export PATH=/Library/Frameworks/Python.framework/Versions/<version number>/bin:$PATH

11
Bisakah Anda menguraikan? Saya tidak melihat bagaimana menginstal distribusi ada hubungannya dengan tidak harus menentukan versi pip yang ingin Anda gunakan.
Piotr Dobrogost

13

Cara terpendek:

python3 -m pip install package
python -m pip install package

`` `(test-exif) alex @ alex-xps-13-9370: ~ / proyek / oe / app / exif $ python3 -m pip instal exif / usr / bin / python3: Tidak ada modul bernama
pip`

@ Maxd dalam hal ini instal pip menggunakan terlebih dahulu sudo apt-get install python3-pip. Dengan asumsi Anda menggunakan python3.
lima elemen

5

Ini bekerja untuk saya di OS X: (Saya mengatakan ini karena kadang-kadang terasa sakit karena mac memiliki versi "sendiri" dari setiap alat open source, dan Anda tidak dapat menghapusnya karena "perbaikannya" membuatnya unik untuk hal-hal apel lainnya untuk bekerja , dan jika Anda menghapusnya, semuanya mulai jatuh appart)

Saya mengikuti langkah-langkah yang disediakan oleh @Lennart Regebro untuk mendapatkan pip untuk python 3, namun pip untuk python 2 masih pertama di jalan, jadi ... apa yang saya lakukan adalah membuat tautan simbolis ke python 3 di dalam / usr / bin ( dalam akta saya melakukan hal yang sama untuk menjalankan 2 ular sanca saya dalam damai):

ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/pip /usr/bin/pip3

Perhatikan bahwa saya menambahkan 3di bagian akhir, jadi pada dasarnya yang harus Anda lakukan adalah menggunakan, pip3bukan hanya pip.

Posting sudah lama tapi saya harap ini membantu seseorang suatu hari nanti. ini secara teoritis harus bekerja untuk sistem LINUX apa pun.


4

Di Suse Linux 13.2, pip memanggil python3, tetapi pip2 tersedia untuk menggunakan versi python yang lebih lama.


hal yang sama pada voidlinux
Radagast

4

Di Windows, pertama instal Python 3.7 dan kemudian Python 2.7. Kemudian, gunakan command prompt:

pip instal python2-module-name

pip3 instal python3-module-name

Itu saja


3

Harap dicatat bahwa pada msys2 saya telah menemukan perintah ini sangat membantu:

$ pacman -S python3-pip
$ pip3 install --upgrade pip
$ pip3 install --user package_name

2

Pikir ini pertanyaan lama, saya pikir saya punya solusi yang lebih baik

  1. Untuk menggunakan pip untuk lingkungan python 2.x, gunakan perintah ini -

    py -2 -m pip instal -r requirement.txt

  2. Untuk menggunakan pip untuk lingkungan python 3.x, gunakan perintah ini -

    py -3 -m pip instal -r requirement.txt

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.