Bugün bunu yapıyordum, neyin yüklü olduğu ve nerede olduğu konusunda biraz kontrol sahibi olmak isteyen insanlar için açık belgeler az görünüyor.
Varsayalım pip3 install ne olursa olsun, varsayılan olarak koymak şeyler ~ / .local, bildiğiniz gibi. Unix'teki alışılmış dosya türlerini bölmek için "çalıştırılabilir" olanları ~ / .local / bin altına koyun.
Terminalde yolunuzu şimdi görmek için şunu yazın:
$ echo $PATH
~ / .Local dizininde yüklü python öğelerinin bulunduğundan emin olun
$ ls -la ~/.local/bin
Bu, yürütülebilir dosyaların orada olduğunu onaylar veya benim için yapar. Bu dosya izinleri "x" gösteriyorsa, bunlar yürütülebilir.
Şimdi, bu dizini terminal içindeki yola ekleyin
$ export PATH=~/.local/bin:$PATH
Değişikliği görmek için yolunuzu tekrar kontrol edin. Lütfen bunun yalnızca terminal oturumu için geçici bir ayar olduğunu unutmayın. Aynı anda veya gelecekte diğer terminaller için geçerli değildir. Test etmek için iyi bir yer.
Bundan sonra, adını komut satırına yazarsanız, ~ / .local / bin içindeki yürütülebilir tüm programlar çalıştırılmalıdır. Örneğin, "~ / .local / bin / jupyter" komutunu çalıştırmaya gerek yoktur. Sadece "jupyter" yazın. Bazen gördüğünüz "./" ye gerek yok, o zaman çalışma dizininden yola çıkmayan bir programı çalıştırıyorsunuz.
Daha sonra bunu kalıcı yapmak istediğinize karar verirseniz, ~ / .local / bin her zaman PATH'ınızda olur, bunu bazı ortam yapılandırma dosyalarını düzenleyerek yapabilirsiniz. Kurulumunuza bağlı olarak, örneğin, ana klasör ".bashrc" dosyamda son satır "export PATH = $ PATH: $ HOME / bin" şeklindedir. Yani $ HOME / local / bin'in önüne koyabilirim. Not Orada "~" değil, $ HOME yazdım. O zaman her BASH kabuğu kullandığımda PATH düzeltildi. Başka mermiler kullanabiliyorsanız, doğru olanın ~ / .profile dosyasını düzenlemek olduğunu düşünüyorum. Bence Ubuntu'daki bütün mermiler bu dosyaya kaynak sağlayacak.
Benim durumumda, jupyter gibi pip3 ile birkaç program kurdum. Bunun nereye kurulduğundan emin olmanın bir yolu çalıştırmaktır
$ pip3 list
yalnızca pip3 tarafından kurulan paketleri değil, mevcut tüm paketleri gösterir.
$ pip3 show jupyter
Benim durumumda, örneğin:
---
Metadata-Version: 2.0
Name: jupyter
Version: 1.0.0
Summary: Jupyter metapackage. Install all the Jupyter components in one go.
Home-page: http://jupyter.org
Author: Jupyter Development Team
Author-email: jupyter@googlegroups.org
Installer: pip
License: BSD
Location: /home/pauljohn/.local/lib/python3.5/site-packages
Requires: nbconvert, ipykernel, ipywidgets, notebook, jupyter-console, qtconsole
Classifiers:
Intended Audience :: Developers
Intended Audience :: System Administrators
Intended Audience :: Science/Research
License :: OSI Approved :: BSD License
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.3
Programming Language :: Python :: 3.4
Bunun alev gibi görünmesini istemiyorum ama bir saldırı gibi görünebilir. Sizi burada bazı insanların "sudo pip3 xxx" çalıştırmak için sunacakları tavsiyelerini takip etmemek için uyarır. Genellikle, root yüklemelerini pip3 ile değil, sadece Debian paketleri ile çalıştırmayı tercih edersiniz. Sudo olmadan koşarsanız, tehlikeyi kullanıcı hesabıyla sınırlandırıyorsunuz demektir. Bir komut dosyasını kök olarak çalıştırırken kandırırsanız, dosyaları sabit diskinizin her tarafına dağıtabilir ve pişman olabilirsiniz. Özellikle başkaları oturum açıp bu bilgisayarı kullanıyorsa, emin olmadığınız sürece root olarak herhangi bir şey yapmaktan kaçının.
Ayrıca belirtmek gerekir ki, pip3 varsayılan olarak ~ / .local içine kurulur, ancak bu gerekli değildir. "Man pip3" ifadesini okuyun, "-t" (--target) öğesini bulun. Yükleme dizinini belirleyebilirsiniz. Bunun güzel olduğunu düşünüyorum çünkü herhangi bir dizindeki herhangi bir hasarı sınırlayabilir ve istediğiniz zaman silebilirsiniz. ~ / .local, başka programlar tarafından yüklenen başka değerli şeylere sahip olabilir ve bunları silmeyi tercih etmezsiniz. Ben ~ / .local ayarları için zaten programlar daha fazla bir yer olarak düşünüyorum.