Pertanyaan Apa artinya "kesalahan: opsi --single-versi-dikelola secara eksternal tidak diakui" menunjukkan?


Sepertinya saya tiba-tiba mulai menemukan kesalahan error: option --single-version-externally-managed not recognized kapan pip installing paket varions (termasuk PyObjC dan astropy). Saya belum pernah melihat kesalahan ini sebelumnya, tetapi sekarang juga muncul pada build travis-ci yang tidak ada yang berubah.

Apakah kesalahan ini menunjukkan distribusi yang kedaluwarsa? Atau beberapa opsi yang salah ditentukan di setup.py? Atau sesuatu yang lain sepenuhnya?


75
2018-01-12 18:24


asal


Jawaban:


Pembaruan Baru:

Instal versi terbaru dari setuptools. Jika Anda masih mendapatkan kesalahan, instal wheel demikian juga.

pip install -U setuptools
pip install -U wheel

Jawaban Asli / Detail Lebih Lanjut:

--single-version-externally-managed adalah opsi yang digunakan untuk paket Python yang menginstruksikan modul setuptools untuk membuat paket Python yang dapat dengan mudah dikelola oleh manajer paket host jika diperlukan, seperti Yum atau Apt.

Jika Anda melihat pesan ini, Anda mungkin memiliki versi lama dari setuptools atau Python. Coba gunakan Distribute, yang merupakan versi setuptools yang lebih baru dan kompatibel dengan versi sebelumnya. Paket-paket ini mungkin mengharapkan Anda sudah memilikinya.

https://pypi.python.org/pypi/distribute

Sunting: Pada titik ini, distribusi telah digabung menjadi utama setuptools proyek. Cukup instal versi terbaru dari setuptools. Seperti yang ditunjukkan @wynemo, Anda mungkin ingin menggunakan --egg sebagai gantinya, karena ini lebih tepat bagi mereka yang melakukan instalasi manual di mana Anda tidak berniat membuat paket sistem untuk distribusi.


46
2018-03-06 21:41



Menambahkan --egg pilihan

pip install --egg SCons

saya menggunakan pip versi 1.4.1


133
2017-10-31 02:54



Menginstal wheel menyelesaikan masalah ini dengan baru-baru ini pip (Saya menggunakan 8.1.2):

pip install wheel

40
2018-03-24 18:50



Coba tingkatkan setuptools seperti ini:

pip install --upgrade setuptools


7
2017-10-29 14:03



Saya mengalami masalah ini. Ternyata itu adalah masalah dengan hak akses file pada cache pip saya.

Jika Anda melihat pesan di awal output pip Anda seperti

The directory '/home/ubuntu/.cache/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 '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

Anda mungkin memiliki masalah yang sama. Anda dapat mengatasinya dengan memastikan bahwa Anda memiliki hak akses file yang tepat pada cache pip Anda (sesuatu seperti chown -R $(whoami) /home/ubuntu/.cache/pip) atau, jika Anda berada di UNIX, Anda dapat mengatur lokasi cache pip dengan XDG_CACHE_HOME env var ke beberapa folder yang Anda miliki.


4
2017-11-03 04:23



Saya memiliki masalah ini pada macbook saya juga ketika saya mencoba untuk meng-upgrade satu paket python. Saya memeriksa versi pip di OS X, ini terlalu lama: 1.1. Saya menggunakan follow cmd untuk mengupgrade pip ke 1.5.6

easy_install -U pip

Maka kesalahan ini diperbaiki.


0
2017-09-24 06:42