python pip: paksa install mengabaikan dependensi


126

Apakah ada cara untuk menginstal paksa paket pip python dengan mengabaikan semua dependensinya yang tidak dapat dipenuhi?

(Saya tidak peduli seberapa "salah" melakukannya, saya hanya perlu melakukannya, selain logika dan alasan apa pun ...)

Jawaban:


201

pip memiliki sebuah --no-dependenciessaklar. Anda harus menggunakan itu.

Untuk informasi lebih lanjut, jalankan pip install -h, di mana Anda akan melihat baris ini:

--no-deps, --no-dependencies
                        Ignore package dependencies

ok, terima kasih sudah repot-repot menjawab ... maaf, tidak tahu bagaimana saya melewatkannya, seharusnya saya benar-benar rtfm ...
NeuronQ

19
bagaimana cara meneruskan ini dalam file requirement.txt?
Austin

2
Untuk menjalankan dengan requirement.txt, itu akan menjadi:pip install --no-deps -r requirements.txt
Graham Place

Hal seperti ini untuk mencegah penginstalan paket yang direkomendasikan seperti with apt-get install --no-install-recommends?
Connor

1
@Connor tidak ada padanan dengan "paket yang direkomendasikan" di alat pengemasan Python standar mana pun: distutils, setuptools, pip. Setuptools (dan pip) memiliki "ekstra", tetapi harus dipilih dan diinstal secara eksplisit oleh pengguna.
shadowtalker

6

Ketika saya mencoba menginstal librosapaket dengan pip( pip install librosa), kesalahan ini muncul:

ERROR: Cannot uninstall 'llvmlite'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

Saya mencoba untuk menghapus llvmlite, tetapi pip uninstalltidak dapat menghapusnya. Jadi, saya menggunakan kemampuan ignoredari pipoleh kode ini:

pip install librosa --ignore-installed llvmlite

Memang, Anda dapat menggunakan aturan ini untuk mengabaikan paket yang tidak ingin Anda pertimbangkan:

pip install {package you want to install} --ignore-installed {installed package you don't want to consider}

1
ini tidak persis apa yang diminta op. menurut halaman manual -I, --ignore-diinstal Abaikan paket yang diinstal (sebagai gantinya, instal ulang). bendera ini secara eksplisit akan menginstal ulang paket-paket yang ditentukan, bahkan jika mereka sudah diinstal
madmuffin
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.