Yerel yerine genel olarak bir pip paketini nasıl kurarım?


100

Pip3 kullanarak flake8 paketini kurmaya çalışıyorum ve görünen o ki, zaten bir yerel konumda kurulu olduğu için yüklemeyi reddediyor.

Global olarak (sistem düzeyinde) yüklemeye nasıl zorlayabilirim?

pip3 install flake8
Requirement already satisfied (use --upgrade to upgrade): flake8 in ./.local/lib/python3.4/site-packages

Lütfen, hedefi kendim belirtmek istemediğim için herhangi bir platformda kullanılması gereken genel bir çözümü tercih ettiğimi (Debian, OS X belki de Windows üzerinde çalışmalıdır) unutmayın.

Garip bir nedenden ötürü --user, benim durumumda yapmadığım daha önce belirttiğim gibi davranıyor .

Bir paketi global olarak kurabilmemin tek yolu, önce onu kaldırıp bundan sonra tekrar kurmaktı. Bir şekilde pip (8.1.1) yerel olarak mevcutsa bir paketi global olarak yüklemeyi reddediyor gibi görünüyor.

Sorumluluk Reddi: Deneyler sırasında hiçbir sanal ortam kullanılmamış veya zarar görmemiştir.


3
Kök kullanıcıdan veya sudo'dan denediniz mi?
matino

Denedin pip install flake8 --upgrademi
Mauro Baraldi

Sanal ortamların (venv) kullanımıyla ilgili benzer sorunlar olması durumunda, --system-site-packagesglobal olarak yüklenmiş paketleri venv'inize devralma seçeneğini kullanın. Stackoverflow.com/a/61326709/4445175'e
Wlad

Yanıtlar:


140

Neden denemiyorsun sudoile Hbayrak? Bu hile yapmalı.

sudo -H pip install flake8

Normal sudo pip install flake8, kendi ana dizininizi kullanmaya çalışacaktır. -HSistemin ana dizinini kullanmak için talimat verir. Https://stackoverflow.com/a/43623102/ adresinde daha fazla bilgi


99
HHlobal'daki gibi mi?
Matt

63
-Hhey sudo'daH olduğu gibi, ana dizinimi kullanmayı bırak. bunun yerine stackoverflow.com/a/43623102
nikhilweee

6
Bu gerçekten onu global olarak
kurmuyor

@nikhilweee pip3 install ipythonVirtualenv'in devre dışı bırakıldığı zamandan ne kadar farklı olduğunu anlamıyorum , sanki aynı site-packagesdizine kuruluyorlar .
iamfrancisyo

@parsecpython benim için hile yapıyor ve paketleri istediğim yerde /usr/local/lib/python3.8/dist-packages içine yüklüyor
yota

8

Belki --force-reinstallişe --ignore-installedyarar , yoksa hile yapmalı.


5

Kullandığınız virtualenv? Varsa, virtualenv'i devre dışı bırakın. Kullanmıyorsanız, zaten yaygın olarak kurulmuştur (sistem düzeyinde). Paketi yükseltmeyi deneyin.

pip install flake8 --upgrade

2
Pek doğru değil.
GMaster

2

Aslında sorununuzu görmüyorum. Global olarak, python3 yolunuzun site paketi klasöründe bulunan herhangi bir pakettir.

Yalnızca yerel olarak kullanmak istiyorsanız, bir virtualenv yapılandırmanız ve paketleri etkinleştirilmiş bir sanal ortamla yeniden yüklemeniz gerekir.


Bir venv oluştururken, --system-site-packages .venv/devglobal paketleri miras almak için kullanabilirsiniz , böylece bunları her bir venv'e yeniden yüklemeniz gerekmez. Bu, herhangi bir projede kullanmak isteyebileceğiniz paketler için anlamlıdır, örn. Black, flake8, pytest. Örnek:python -m venv --system-site-packages .venv/dev
Wlad

-1

Python'da pip kurulumları nerede gerçekleşir?

Karşılaştığım ve çözmesi biraz zaman aldığım bir pencere çözümü vereceğim.

Her şeyden önce, pencerelerde ( burada işletim sistemi olarak Windows'u alacağım ), yaparsanız pip install <package_name>, varsayılan olarak global olarak yüklenecektir ( eğer sanal bir ortamı etkinleştirmediyseniz ). Bir sanal ortamı etkinleştirdiğinizde ve içinde olduğunuzda, tüm pip kurulumları o sanal ortamın içinde olacaktır.


pip söz konusu paketleri kuruyor ama kullanamıyorum ?

Bu pip size pip yürütülebilir mi belirten bir uyarı veriyor olabilir için pip3.exe, pip.exesenin yol değişkeni değildir. Bunun için bu yolu (genellikle - C:\Users\<your_username>\AppData\Roaming\Programs\Python\) çevre değişkenlerinize ekleyebilirsiniz . Bundan sonra cmd, programınızı yeniden başlatın ve şimdi kurulu python paketinizi kullanmayı deneyin. Şimdi çalışmalı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.