Ubuntu ~ / .local / bin içinde yürütülebilir bir dosya bulamıyor


12
after installation with

pip3 install --user steem-piston
you will get a new executable piston installed in ~/.local/bin

Aracı pip install kullanarak yükledim, ancak yürütülebilir dosyayı bulamıyorum.

Bu dizinin ne olduğunu tam olarak bilmiyorum: ~ / .local / bin.

Sadece root / local / bin mi?

Yanıtlar:


11

~/ana klasörünüz için bir kabuk kısaltmasıdır, genellikle /home/USERNAME/, USERNAMEkullanıcı adınız nerede . Aynı$HOME

~/.local/bin, ana klasörünüzde binadlandırılan alt klasörde adlandırılan bir alt .localklasördür.

Kullanabilirsiniz

~/.local/bin/pip3

yeni pip3yürütülebilir dosyayı aramak için . Eklemek daha kolay olabilir ~/.local/biniçin $PATH, bkz ortam değişkeninin benim yolu bir dizin nasıl eklenir? bu yüzden ~/.local/bin/her zaman yazmanıza gerek yoktur .

Emin eklemek olun önce eski değerine $PATHgibi

PATH="$HOME/.local/bin/:$PATH"

Gönderiniz için teşekkür ederim. Ne yazık ki, ana klasörde alt klasörü göremiyorum (gizli bir dosya mı?). Terminalde bu komutu yazdığımda şunu alıyorum: bash: /home/myname/.local/bin/pip3: Böyle bir dosya veya dizin yok
TabulaSmaragdina

Evet, bir dosya veya klasörün adı bir nokta ile başlarsa, varsayılan olarak gizlidir. Gizli dosya ve klasörleri görüntülemek ls -aiçin de kullanabilirsiniz ls.
Florian Diesch

@TabulaSmaragdina Dosyanın bulunmaması tuhaf. Koşmayı deneyin ls -a ~/.local/bin. Çıktı uzunsa, lütfen sorunuzda düzenleyin.
wjandrea

1
Bunu mu demek istediniz ~/.local/bin/piston?
terdon

Not: ~/.local/bin/Modern Ubuntu'da zaten $ PATH.
Aaron Franke

7

~/.local/binUbuntu 16.10'da PATH'e eklenmiş ve 16.04'e geri bildirilmiştir. Bkz. Https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562

Tüm güncellemelerle Ubuntu> = 16.04 çalıştırıyorsanız, zaten iyi olmalıdır. Değilse, manuel olarak ekleyebilirsiniz:

Tek bir kullanıcı için dosyayı düzenleyin ~/.profileve sonuna ekleyin:

PATH="$HOME/.local/bin:$PATH"

Yeni oluşturulan herhangi bir kullanıcının buna sahip olmasını istiyorsanız, aynı satırı /etc/skel/.profile


0

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.

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.