Yerel bir Python sürüm 3.4.1 var ve python -m pip install
çalıştırabilir, ancak pip install
çalıştırmak için pip ikili dosyasını bulamıyorum. Bu ikisi arasındaki fark nedir?"pip install" ve "python -m pip install" arasındaki fark nedir?
cevap
Tam olarak aynı şeyi yaparlar. Aslında, Python modüllerini dağıtmak için kullanılan dokümanlar, pip
yürütülebilir dosyasının yerine python -m pip
kullanılmasını önermek için just updated idi, çünkü pythonun hangi sürümünün bu şekilde pip
çalışacak şekilde kullanıldığını söylemek daha kolay.
Düzenleme: İşte
sadece sözümü ve pip
yürütülebilir komut bir göz atacak olursak ben :)
bağlantılı hata raporu güvenen ötesinde, biraz daha somut "kanıt" var, bu sadece bunu yaparken: Bu bir işlev döndürür load_entry_point
, çağıran ve daha sonra bu işlev yürütülürken oluyor
from pkg_resources import load_entry_point
<snip>
load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
. Kullandığı giriş noktası 'console_scripts'
olarak adlandırılır. pip
(Ubuntu makinemde /usr/lib/python2.7/dist-packages/pip-1.5.4.egg-info/entry_points.txt) için entry_points.txt dosyasına bakarsanız, şunu görürsünüz:
[console_scripts]
pip = pip:main
pip2.7 = pip:main
pip2 = pip:main
Yani döndü giriş noktası
pip
modülünde
main
fonksiyonudur.
python -m pip
çalıştırdığınızda, pip
paketinin içinde __main__.py
komut dosyasını çalıştırıyorsunuz. Yani şuna benzer:
import sys
from .runner import run
if __name__ == '__main__':
exit = run()
if exit:
sys.exit(exit)
Ve runner.run
fonksiyonu aşağıdaki gibidir: sen de, sadece pip.main
işlevini aradığını görebileceğiniz gibi
def run():
base = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
## FIXME: this is kind of crude; if we could create a fake pip
## module, then exec into it and update pip.__path__ properly, we
## wouldn't have to update sys.path:
sys.path.insert(0, base)
import pip
return pip.main()
. Bu nedenle, her iki komut da, pip/__init__.py
numaralı telefondan aynı main
işlevini çağırır.
- 1. Pip3 ve python3 -m pip arasındaki fark
- 2. pip {version} install --upgrade pip
- 3. pip install istekleri istisna ve pip install beautifulsoup4 istisnası
- 4. sudo pip install django
- 5. sudo pip install -e
- 6. Pip kurulumu ve sudo pip kurulumu arasındaki fark nedir?
- 7. Python GDAL: pip install --no-install GDAL başarısız oluyor
- 8. Pip ve conda arasındaki pratik fark
- 9. Ad alanı paketleri ve pip install -e
- 10. Jenkins'i "pip install" çalıştırmayı nasıl yapabilirim?
- 11. “pip install” i çağırırken özel görevi çalıştırın
- 12. Pip install-gereksinimi karşılayan bir sürümü bulamadı
- 13. pip install django --upgrade eski versiyonunu kurar
- 14. Pandaların yüklenememesi! Yardım et! (pip install pandas)
- 15. Python: pip
- 16. Pip
- 17. Pip: ImportError: Giriş noktası ('console_scripts', 'pip') ı ile Pip yüklemek
- 18. PIP yüklemesi ve Python yolu
- 19. Python pip yükleme hatası
- 20. Python paketleri pip
- 21. python pip - yerel direktiften yükle
- 22. pip setup.py
- 23. virtualenv ve pip kullanarak iş akışı
- 24. Ubuntu'ya python-pip yükleyin 14.04.2 Yayımlama
- 25. python pip sessiz yükleme
- 26. Jinja install python
- 27. Python Xlib'i pip ile nasıl yüklersiniz?
- 28. Çalışan "bundle install" başarısız ve "bundle install"
- 29. PIP: Yalnızca bağımlılıkları yükleme
- 30. python2.7 pip varsayılan pip yerine nasıl kullanılır
Cevabınız için teşekkürler, bu bilgiyi nerede destekleyebilirim? Paketler yerel Python'u kullanarak nereye yüklendi? – ilciavo
@ilciavo Düzenleme bölümüne bakın. – dano
Ve bu "kavram" sadece "pip" için değil, aynı zamanda diğer Python "komut satırı araçları" için de geçerli değildir. E.g., python -m işareti. Python yardım menüsünden alıntı yapmak için -m mod: bir betik olarak kütüphane modülünü çalıştır ' – Sebastian