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 ...)

NeuronQ
sumber

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
Jeff Tratner
sumber
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}
hamed baziyad
sumber
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