Saya mencoba menginstal paket flake8 menggunakan pip3 dan sepertinya paket tersebut menolak untuk diinstal karena sudah diinstal di satu lokasi lokal.
Bagaimana saya bisa memaksanya untuk menginstal secara global (level sistem)?
pip3 install flake8
Requirement already satisfied (use --upgrade to upgrade): flake8 in ./.local/lib/python3.4/site-packages
Harap dicatat bahwa saya lebih suka solusi umum (yang seharusnya berfungsi pada Debian, OS X bahkan mungkin Windows), yang harus digunakan pada platform apa pun jadi saya tidak ingin menentukan tujuan sendiri.
Untuk beberapa alasan aneh itu berperilaku seperti saya sudah menentukan --user
yang dalam kasus saya tidak saya lakukan.
Satu-satunya cara saya dapat menginstal paket secara global adalah dengan menghapusnya terlebih dahulu dan menginstalnya lagi setelah ini. Tampaknya pip (8.1.1) menolak untuk menginstal paket secara global jika ada secara lokal.
Penafian: Tidak ada lingkungan virtual yang digunakan atau dirusak selama percobaan.
pip install flake8 --upgrade
?--system-site-packages
opsi untuk mewarisi paket yang diinstal secara global ke venv Anda. Lihat stackoverflow.com/a/61326709/4445175Jawaban:
Mengapa Anda tidak mencoba
sudo
denganH
bendera? Ini seharusnya berhasil.Seorang reguler
sudo pip install flake8
akan mencoba menggunakan direktori home Anda sendiri. The-H
menginstruksikan untuk menggunakan direktori home sistem. Info lebih lanjut di https://stackoverflow.com/a/43623102/sumber
H
seperti di Hlobal?-H
seperti di hey sudo, berhenti menggunakan direktori home saya. gunakanH
direktori ome Anda sendiri sebagai gantinya stackoverflow.com/a/43623102pip3 install ipython
ketika virtualenv dinonaktifkan, mereka tampaknya menginstal kesite-packages
direktori yang sama .Mungkin
--force-reinstall
akan berhasil, jika tidak--ignore-installed
harus melakukan trik.sumber
Apakah Anda menggunakan
virtualenv
? Jika ya, nonaktifkan virtualenv. Jika Anda tidak menggunakan, itu sudah diinstal secara luas (level sistem). Coba perbarui paket.sumber
Saya sebenarnya tidak melihat masalah Anda. Secara global adalah semua paket yang ada di folder paket situs jalur python3 Anda.
Jika Anda ingin menggunakannya secara lokal maka Anda harus mengkonfigurasi virtualenv dan menginstal ulang paket dengan lingkungan virtual yang diaktifkan.
sumber
--system-site-packages .venv/dev
untuk mewarisi paket global sehingga Anda tidak perlu menginstalnya kembali di setiap venv. Ini masuk akal untuk paket yang mungkin ingin digunakan dalam proyek apa pun, misalnya black, flake8, pytest. Contoh:python -m venv --system-site-packages .venv/dev
Saya akan memberikan solusi windows yang saya hadapi dan butuh beberapa saat untuk menyelesaikannya.
Pertama-tama, di windows (saya akan menggunakan Windows sebagai OS di sini), jika Anda melakukannya
pip install <package_name>
, itu akan secara default diinstal secara global ( jika Anda belum mengaktifkan lingkungan virtual ). Setelah Anda mengaktifkan lingkungan virtual dan Anda berada di dalamnya, semua instalasi pip akan berada di dalam lingkungan virtual tersebut.Untuk pip ini mungkin memberi Anda peringatan bahwa pip yang dapat dieksekusi seperti
pip3.exe
,pip.exe
tidak ada di variabel jalur Anda. Untuk ini, Anda dapat menambahkan jalur ini (biasanya -C:\Users\<your_username>\AppData\Roaming\Programs\Python\
) ke variabel lingkungan Anda . Setelah ini restart Andacmd
, dan sekarang coba gunakan paket python yang Anda instal. Ini harus bekerja sekarang.sumber