Saya memiliki Macbook dengan OS X El Captain. Saya pikir itu Python 2.7
sudah diinstal sebelumnya. Namun, saya Python 3.5
juga menginstal . Ketika saya mulai menggunakan Python 3
, saya membaca bahwa jika saya ingin menginstal sebuah paket, saya harus mengetik:
pip3 install some_package
Pokoknya, sekarang saat saya gunakan
pip install some_package
Saya some_package
terinstal untuk Python 3
. Maksud saya, saya dapat mengimpor dan menggunakannya tanpa masalah. Selain itu, ketika saya ketik saja pip3
di Terminal
, saya mendapat pesan ini tentang penggunaan:
Usage:
pip <command> [options]
yang merupakan pesan yang sama yang saya dapatkan saat saya mengetik pip
.
Apakah ini berarti bahwa dalam versi sebelumnya, semuanya berbeda, dan sekarang pip
dan pip3
dapat digunakan secara bergantian? Jika demikian, dan demi argumen, bagaimana saya dapat menginstal paket Python 2
alih - alih Python 3
?
sumber
ls -l
danpip show
untuk memverifikasi alasannya. dan tentu saja, jawaban ini untuk menjawab pertanyaannya.Jika Anda memiliki python 2.x dan kemudian menginstal python3, pip Anda akan mengarah ke pip3. Anda dapat memverifikasinya dengan mengetik
pip --version
yang akan sama denganpip3 --version
.Di sistem Anda, Anda sekarang memiliki pip, pip2, dan pip3 .
Jika mau, Anda dapat mengubah pip ke point to pip2, bukan pip3.
sumber
pip3 install --upgrade pip
dan menghasilkan keduanya v10Saat Anda menginstal
python3
,pip3
terinstal. Dan jika Anda tidak memiliki instalasi python lain (seperti python2.7) maka tautan yang mengarahpip
kepip3
.Begitu
pip
juga tautan kepip3
jika tidak ada versi lain dari python yang diinstal (selain python3).pip
umumnya menunjuk ke instalasi pertama.sumber
Ini adalah topik yang rumit. Pada akhirnya, jika Anda memanggilnya,
pip
itu akan memanggil salah satupip2
ataupip3
, tergantung pada bagaimana Anda mengatur sistem Anda.sumber
Dengan ilustrasi:
Jadi, dalam sistem default saya python (Python 3.7.3),
pip
adalahpip3
.sumber
Saya pikir
pip
,pip2
danpip3
bukan tautan lunak ke jalur file yang dapat dieksekusi yang sama. Catat perintah ini dan hasilnya di terminal linux saya:Seperti yang Anda lihat, mereka ada di jalur yang berbeda.
pip3 selalu beroperasi hanya di lingkungan Python3, seperti yang dilakukan pip2 dengan Python2. pip beroperasi pada lingkungan mana saja yang sesuai dengan konteksnya. Misalnya jika Anda menggunakan Python3 venv, pip akan beroperasi di lingkungan Python3.
sumber
Jika Anda menginstal Python 2.7, saya rasa Anda dapat menggunakan
pip2
danpip2.7
menginstal paket khusus untuk Python 2, sepertiatau
Dan Anda dapat menggunakan
pip3
ataupip3.5
menginstal pacakges khusus untuk Python 3.sumber
Pada contoh Windows saya - dan saya tidak sepenuhnya memahami lingkungan saya - menggunakan pip3 untuk menginstal paket kaggle-cli berfungsi - sedangkan pip tidak. Saya bekerja di lingkungan conda dan lingkungannya tampak berbeda.
sumber
Dengan adanya virtualenv Python 3.6 yang diaktifkan di somepath / venv , alias berikut menyelesaikan berbagai masalah pada macOS Sierra di mana pip bersikeras untuk menunjuk ke Python 2.7 Apple.
Ini tidak berfungsi dengan baik ketika saya harus melakukannya
sudo pip
karena pengguna root tidak tahu apa-apa tentang alias saya atau virtualenv, jadi saya harus menambahkan alias tambahan untuk menangani ini juga. Ini peretasan, tetapi berhasil, dan saya tahu apa fungsinya:Latar Belakang:
pip3 tidak ada untuk memulai ( perintah tidak ditemukan ) dengan dan
which pip
akan mengembalikan /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/pip , Apple Python.Python 3.6 diinstal melalui macports.
Setelah aktivasi 3.6 virtualenv yang ingin saya gunakan,
which python
akan mengembalikan somepath / venv / bin / pythonEntah bagaimana
pip install
akan melakukan hal yang benar dan menekan virtualenv saya, tetapipip list
akan mengguncang paket Python 2.7.Untuk Python, ini jauh di bawah ekspektasi saya dalam hal keramahan pemula.
sumber