우분투는 ~ / .local / bin에서 실행 파일을 찾을 수 없습니다


12
after installation with

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

pip install을 사용하여 도구를 설치했지만 실행 파일을 찾을 수 없습니다.

이 디렉토리가 무엇인지 잘 모르겠습니다 : ~ / .local / bin.

루트 / 로컬 / 빈입니까?

답변:


11

~/는 홈 폴더의 쉘 약어이며 일반적으로 /home/USERNAME/이며 여기서 USERNAME사용자 이름입니다. 그것은 같은$HOME

~/.local/bin라는 이름의 하위 폴더 bin라는 이름의 하위 폴더에 .local홈 폴더에.

당신이 사용할 수있는

~/.local/bin/pip3

pip3실행 파일 을 호출합니다 . 환경 변수 에 추가 ~/.local/bin하는 것이 더 쉬울 수 있습니다. 경로에 디렉토리를 추가하는 방법을$PATH 참조하십시오 . ~/.local/bin/항상 입력 할 필요가 없습니다 .

과 같은 이전 값 앞에 추가해야합니다.$PATH

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

게시물 주셔서 감사합니다. 불행히도 홈 폴더에서 하위 폴더를 볼 수 없습니다 (숨겨진 파일입니까?). 그리고 터미널에 해당 명령을 입력하면 bash : /home/myname/.local/bin/pip3 : 해당 파일이나 디렉토리가 없습니다
TabulaSmaragdina

예. 파일 또는 폴더 이름이 점으로 시작하면 기본적으로 숨겨집니다. 숨겨진 파일과 폴더를 표시 하는 ls -a데 사용할 수도 있습니다 ls.
Florian Diesch

@TabulaSmaragdina 파일을 찾을 수 없습니다. 실행 해보십시오 ls -a ~/.local/bin. 출력이 길면 질문으로 편집하십시오.
wjandrea

1
당신은 의미하지 ~/.local/bin/piston않습니까?
terdon

참고 : ~/.local/bin/현대 우분투에서는 이미 $ PATH에 있습니다.
Aaron Franke

7

~/.local/binUbuntu 16.10의 PATH에 추가되었으며 16.04로 백 포트되었습니다. 참조 https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562를

모든 업데이트와 함께 Ubuntu> = 16.04를 실행하고 있다면 이미 정상입니다. 그렇지 않은 경우 수동으로 추가 할 수 있습니다.

단일 사용자의 경우 파일을 편집 ~/.profile하고 끝에 추가하십시오.

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

새로 만든 사용자가 이것을 갖기를 원한다면 끝에 같은 줄을 추가하면됩니다. /etc/skel/.profile


0

나는 오늘 이것을하고 있었으며 설치된 문서와 장소를 어느 정도 제어하고 싶은 사람들에게는 명확한 문서가 부족한 것처럼 보입니다.

pip3 install을 실행했다고 가정하면 기본적으로 ~ / .local 아래에 물건을 넣는 것이 기본값입니다. 유닉스에서 관례 적으로 파일 유형을 나누려면 "실행 가능한"파일을 ~ / .local / bin 아래에 두십시오.

터미널에서 지금 경로를 보려면 이것을 입력하십시오.

$ echo $PATH

~ / .local에 설치된 파이썬 항목이 있는지 확인하십시오.

$ ls -la ~/.local/bin

그것은 실행 파일이 있는지 확인하거나 나를 위해합니다. 해당 파일 권한에 "x"가 표시되면 실행 가능합니다.

이제 해당 디렉토리를 터미널 내의 경로에 추가하십시오

$ export PATH=~/.local/bin:$PATH

변경 사항을 보려면 경로를 다시 확인하십시오. 해당 터미널 세션에 대해서만 임시 설정입니다. 동시에 또는 미래에 다른 터미널에는 적용되지 않습니다. 테스트하기에 좋은 곳입니다.

그런 다음 ~ / .local / bin 내의 모든 프로그램 실행 파일은 명령 줄에 이름을 입력하면 실행됩니다. 예를 들어 "~ / .local / bin / jupyter"를 실행할 필요가 없습니다. "jupyter"를 입력하십시오. 때때로 "./"가 필요하지 않습니다. 경로에없는 작업 디렉토리에서 프로그램을 시작할 때입니다.

나중에 ~ / .local / bin이 항상 PATH에 있도록 영구적으로 설정하려는 경우 일부 환경 구성 파일을 편집하여이를 수행 할 수 있습니다. 예를 들어 홈 폴더 ".bashrc"파일의 설정에 따라 마지막 줄은 "export PATH = $ PATH : $ HOME / bin"입니다. 그래서 그 앞에 $ HOME / local / bin을 넣을 수 있습니다. "~"가 아니라 $ HOME을 썼습니다. 그런 다음 BASH 셸을 사용할 때마다 PATH가 고정됩니다. 다른 쉘을 사용할 수 있다면 ~ / .profile을 대신 편집하는 것이 옳다고 생각합니다. 우분투의 모든 쉘이 해당 파일을 소스로 생각합니다.

필자의 경우 jupyter와 같은 pip3을 사용하여 여러 프로그램을 설치했습니다. 설치된 위치를 확인하는 한 가지 방법은 실행하는 것입니다.

$ pip3 list

pip3에 의해 설치된 패키지뿐만 아니라 사용 가능한 모든 패키지가 표시됩니다.

$ pip3 show jupyter

내 경우에는 예를 들어 :

---
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

나는 이것이 불꽃처럼 들리기를 원하지 않지만 공격처럼 보일 수 있습니다. "sudo pip3 xxx"를 실행하기 위해 일부 사람들이 제공 할 조언을 간절히 따르지 않도록 경고합니다. 일반적으로 pip3이 아닌 데비안 패키지로만 루트 설치를 실행합니다. sudo없이 실행하면 위험이 사용자 계정에 국한됩니다. 스크립트를 루트로 실행하는 동안 실수를하면 하드 디스크 주위에 파일이 모두 분산되어 후회할 수 있습니다. 특히 다른 사람들이 로그인하여 해당 컴퓨터를 사용하는 경우 자신이 없으면 루트로 작업하지 마십시오.

또한 pip3은 ~ / .local에 설치되도록 기본 설정되어 있지만 반드시 그럴 필요는 없습니다. "man pip3"을 읽고 "-t"(-target)를 찾으십시오. 설치 디렉토리를 지정할 수 있습니다. 다른 디렉토리에 대한 손상을 제한하고 원할 때마다 삭제할 ​​수 있기 때문에 좋습니다. ~ / .local은 다른 프로그램에 의해 설치된 다른 귀중한 것들을 가지고있을 수 있으며,이를 없애지 않을 것입니다. ~ / .local은 프로그램보다 설정을위한 장소라고 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.