Saya tidak tahu apa masalahnya tetapi saya terjebak mengikuti beberapa solusi stackoverflow yang tidak berhasil. Bisakah Anda membantu saya dalam hal ini?
Monas-MacBook-Pro:CS764 mona$ sudo python get-pip.py
The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
/tmp/tmpbSjX8k/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
Collecting pip
Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB)
100% |████████████████████████████████| 1.1MB 181kB/s
Installing collected packages: pip
Found existing installation: pip 1.4.1
Uninstalling pip-1.4.1:
Successfully uninstalled pip-1.4.1
Successfully installed pip-7.1.0
Monas-MacBook-Pro:CS764 mona$ pip --version
-bash: /usr/local/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory
python
macos
installation
pip
osx-mavericks
Mona Jalal
sumber
sumber
pip3 install --upgrade pip
seperti yang ditunjukkan oleh @Excalibur dalam komentar di bagian bawah.Saya menduga Anda memiliki dua instalasi python, atau dua instalasi pip, salah satunya telah dihapus sebagian.
Mengapa Anda menggunakan
sudo
? Idealnya Anda harus dapat menginstal dan menjalankan semuanya dari akun pengguna Anda daripada menggunakan root. Jika Anda menggabungkan root dan akun lokal Anda bersama-sama, kemungkinan besar Anda akan mengalami masalah perizinan (misalnya, lihat peringatan yang diberikan tentang "direktori induk tidak dimiliki oleh pengguna saat ini").Apa yang Anda dapatkan jika menjalankan ini?
Ini akan menunjukkan kepada Anda biner python mana yang
pip
coba digunakan. Jika menunjuk/usr/local/opt/python/bin/python2.7
, coba jalankan ini:$ ls -al /usr/local/opt/python/bin/python2.7
Jika ini bertuliskan "Tidak ada file atau direktori seperti itu", maka pip mencoba menggunakan biner python yang telah dihapus.
Selanjutnya, coba ini:
$ which python $ which python2.7
Untuk melihat jalur biner python yang benar-benar berfungsi.
Karena sepertinya pip berhasil dipasang di suatu tempat, bisa jadi itu
/usr/local/bin/pip
adalah bagian dari pemasangan pip lama yang lebih tinggi diPATH
. Untuk mengujinya, Anda dapat mencoba memindahkanpip
biner yang tidak berfungsi keluar seperti ini (mungkin memerlukansudo
):Kemudian coba jalankan
pip --version
perintah Anda lagi. Mudah-mudahan ini mengambil versi yang benar dan berjalan dengan sukses.sumber
sudo /usr/bin/easy_install pip
- Ditemukan di sini: stackoverflow.com/questions/27308234/…Hanya solusi di OSX dan variannya.
ln -s /usr/local/bin/python /usr/local/opt/python/bin/python2.7
sumber
Memperbaiki pip
Untuk kesalahan ini:
~/Library/Python/2.7/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
Sumber dari masalah ini adalah jalur python yang buruk yang di-hardcode dalam pip (yang berarti itu tidak akan diperbaiki dengan misalnya mengubah $ PATH Anda). Jalur tersebut tidak lagi di-hardcode dalam versi pip terbaru, jadi solusi yang seharusnya berfungsi adalah:
Tapi tentu saja, perintah ini menggunakan pip, jadi gagal dengan kesalahan yang sama.
Cara untuk melepaskan diri dari kekacauan ini:
which pip
#!/usr/local/opt/python/bin/python2.7
menjadi misalnya#!/usr/local/opt/python2/bin/python2.7
(perhatikan python2 di jalur), atau jalur apa pun ke juru bahasa python yang berfungsi di mesin Anda.pip install --upgrade pip
(ini menimpa retasan Anda dan membuat pip berfungsi pada versi terbaru, di mana masalah penerjemah harus diperbaiki)Memperbaiki virtualenv
Bagi saya, saya menemukan masalah ini dengan terlebih dahulu memiliki masalah yang sama dari virtualenv:
~/Library/Python/2.7/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
Solusinya di sini adalah menjalankan
Jika menjalankan perintah itu memberikan kesalahan yang sama dari pip, lihat di atas.
sumber
pip3 install --upgrade pip
)Saya membuat kesalahan yang sama menggunakan sudo untuk instalasi saya. (Ups)
Ini membuat semuanya kembali normal.
sumber
Karena saya menginstal python 2 dan 3 di Mac OSX, saya mengalami segala macam kesalahan.
Saya menggunakan yang untuk menemukan lokasi file python2.7 saya (/usr/local/bin/python2.7)
which python2.7
Kemudian saya menghubungkan lokasi instalasi python2.7 saya yang sebenarnya dengan yang diharapkan skrip:
ln -s /usr/local/bin/python2.7 /usr/local/opt/python/bin/python2.7
sumber
Saya memiliki masalah serupa. Pada dasarnya pip mencari di jalur yang salah (jalur instalasi lama) atau python. Solusi berikut berhasil untuk saya:
which python
)/usr/local/bin/pip2.7
dan/usr/local/bin/pip
). Baris harus menyatakan jalur yang benar ke jalur python. Dalam kasus saya, tidak. Saya memperbaikinya dan sekarang berfungsi dengan baik.sumber
Jika itu membantu siapa pun, solusi yang disebutkan dalam pertanyaan lain ini berfungsi untuk saya ketika pip berhenti berfungsi hari ini setelah memutakhirkannya: Pip rusak setelah meningkatkan
Tampaknya ini adalah masalah ketika lokasi yang sebelumnya di-cache berubah, jadi Anda dapat menyegarkan cache dengan perintah ini:
sumber
Untuk menyederhanakan pengoperasian, kita dapat menggunakan perintah di bawah ini untuk menginstal ulang versi 2:
brew install python@2
Kemudian di mac saya, tampilannya seperti di bawah ini:
▶ python -V Python 2.7.10 ▶ python2 -V Python 2.7.14 ▶ python3 -V Python 3.6.5 ▶ pip2 -V pip 9.0.3 from /usr/local/lib/python2.7/site-packages (python 2.7) ▶ pip3 -V pip 9.0.3 from /usr/local/lib/python3.6/site-packages (python 3.6) ▶ pip --version pip 9.0.3 from /usr/local/lib/python2.7/site-packages (python 2.7)
sumber
reinstall
perintah dibrew
:brew reinstall python@2
Saya memiliki masalah yang sama. Saya telah menginstal Python 2.7 & 3.6. Python 2.7 telah
virtualenv
berfungsi, tetapi setelah menginstal Python3, virtualenv terus mencari versi 2.7 dan tidak dapat menemukannya. Melakukanpip install virtualenv
penginstalan versi virtualenv Python3.Kemudian, untuk setiap perintah, jika saya ingin menggunakan Python2, saya akan menggunakan
virtualenv --python=python2.7 somecommand
sumber
Saya memiliki masalah yang sama, virtualenv menunjuk ke jalur python lama. Memperbaiki jalur menyelesaikan masalah:
$ virtualenv -p python2.7 env -bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory $ which python2.7 /opt/local/bin/python2.7 # needed to change to correct python path $ head /usr/local/bin/virtualenv #!/usr/local/opt/python/bin/python2.7 <<<< REMOVED THIS LINE #!/opt/local/bin/python2.7 <<<<< REPLACED WITH CORRECT PATH # now it works: $ virtualenv -p python2.7 env Running virtualenv with interpreter /opt/local/bin/python2.7 New python executable in env/bin/python Installing setuptools, pip...done.
sumber
Saya punya masalah yang sama. Jika saya lari
brew link --overwrite python2
. Masih adazsh: /usr/local/bin//fab: bad interpreter: /usr/local/opt/python/bin/python2.7: no such file or directory
.Pecahkan itu! Sekarang kita bisa menggunakan fabric versi python2.
=== 2018/07/25 diperbarui
Ada cara yang mudah untuk menggunakan python2 versi fab ketika os python Anda terhubung ke python3.
.sh
untuk perintahmu.# fab python2 cd /usr/local/opt rm python ln -s python2 python # use the fab cli ... # link to python3 cd /usr/local/opt rm python ln -s python3 python
Semoga ini membantu.
sumber
Mengedit baris pertama file ini berhasil bagi saya:
MBP-de-Jose:~ josejunior$ which python3
/usr/local/Cellar/python/3.7.3/bin/python3
MBP-de-Jose:~ josejunior$
sebelum
#!/usr/local/opt/python/bin/python3.7
setelah
#!/usr/local/Cellar/python/3.7.3/bin/python3
sumber
Yang perlu Anda lakukan adalah ... menutup jendela terminal dan membuka kembali jendela baru untuk memperbaiki masalah ini.
Masalahnya adalah, jalur python baru tidak ditambahkan ke bashrc (Sumber atau jendela terminal baru akan membantu).
sumber
Dalam kasus saya, saya memutuskan untuk menghapus instalasi python homebrew dari mac saya karena saya sudah menginstal dua versi python lainnya di mac saya melalui MacPorts. Ini menyebabkan pesan kesalahan.
Menginstal ulang python melalui minuman memecahkan masalah saya.
sumber
perintah ini berhasil bagi saya
sumber
Bagi saya, di centOS 7 saya harus menghapus link pip lama dari / bin oleh
lalu tautkan kembali dengan
sudo ln -s /usr/local/bin/pip2.7 /bin/pip2.7
Lalu jika
/usr/local/bin/pip2.7
Berhasil, ini seharusnya berhasil
sumber
Anda dapat memiliki dua versi berbeda dari Python dan pip.
Mencoba untuk:
pip2 install --upgrade pip
lalupip2 install -r requirements.txt
Atau
pip3
jika Anda menggunakan versi Python yang lebih baru.sumber
TLDR:
pip
ditemukan di jalur Anda a adalah symlink dan lokasi yang dirujuk tidak lagi berisi file yang dapat dieksekusi. Anda perlu memperbarui symlink.Ini membantu untuk memahami beberapa hal.
python
ataupip
Anda os akan mencari/etc/paths
untuk mencoba menemukan executable terkait untuk perintah itu. Anda dapat melihat semuanya di sana dengan menggunakancat /etc/paths
.which
, Anda bisa mengetikwhich python
atauwhich pip
. Ini akan memberi tahu Anda lokasi executable yang akan digunakan shell Anda untuk perintah itu./etc/paths
berisi/usr/local/bin
, juga umum untuk/usr/local/bin
menjadi sekelompok symlink ke executable yang sebenarnya. Bukan executable itu sendiri.bad interpreter: No such file or directory
Dengan itu dikatakan masalahnya kemungkinan itu
pip
adalah symlink dan executable yang ditautkan mungkin tidak ada lagi di lokasi itu. Untuk memperbaikinya lakukan hal berikutwhich pip
(berikan sesuatu seperti ini/usr/local/bin/pip
)ls -l /usr/local/bin/pip | grep pip
(berikan sesuatu seperti inipip -> /usr/local/opt/[email protected]/bin/pip3
)ls /usr/local/opt/[email protected]/bin/pip3
(Anda mengalami masalah ini jadi mungkin tidak).rm -r /usr/local/bin/pip
pip
eksekusi yang sebenarnya jika menggunakannyahomebrew
,/usr/local/opt
Anda dapat menggunakan sesuatu sepertils /usr/local/opt/ | grep python
menemukannya.ln -s /usr/local/opt/[email protected]/bin/pip3 /usr/local/bin/pip
sumber