pip install --user는 사용자가 Dash 또는 터미널에서 애플리케이션을 실행할 수 없음을 의미합니다.

pip install --user는 사용자가 Dash 또는 터미널에서 애플리케이션을 실행할 수 없음을 의미합니다.

저는 Python GUI 애플리케이션 개발자입니다. 나는 내 응용 프로그램의 모든 종속성이 아직 데비안에 적용되지 않았기 때문에 내 응용 프로그램 사용자가 pip를 사용하여 응용 프로그램을 설치할 수 있기를 원하며 상황이 곧 바뀔 것으로 예상하지 않습니다.

물론 PPA는 좋은 생각이겠지만, 내 경우에는 내 것이 아니고 SWIG와 같이 내가 확실히 능숙하지 않은 것들을 포함하는 Python 패키지용 데비안 패키지를 처음부터 새로 만드는 것을 의미합니다.

PPA의 차선책은 Python의 pip입니다. 그리고 그것은 훌륭하게 작동합니다! 최고의 조언은 --user실행할 때 옵션을 사용하라는 것입니다 pip install. pip 개발자는 이것을 말하며 내 인상은 Ubuntu가 실제로 이것을 기본값으로 설정한다는 것입니다.

--user그러나 우분투에서는 다음 과 같이 사용할 때 두 가지 문제가 있습니다 pip.

  1. 애플리케이션 실행 파일은 ~/.local/binFedora 및 기타 배포판과 달리 Ubuntu의 기본 경로가 아닌 에 설치됩니다. (setup.py는 setuptools'를 사용합니다 entry_points).
  2. 설명할 수 없는 이유로 .desktop파일이 에 있음에도 불구하고 ~/.local/share/applications로그아웃 후에도 애플리케이션이 대시에 표시되지 않습니다. 불행히도 설치된 매뉴얼 페이지는 ~/.local/share/man/man1사용자가 터미널에서 man을 실행할 때 나타나지 않습니다.

~/binUbuntu 사용자에게 디렉토리를 생성하고 에서 내 애플리케이션에 대한 심볼릭 링크를 추가하도록 요청할 수 있지만 ~/.local/bin, 매뉴얼 페이지의 문제나 Dash에서 애플리케이션을 시작할 방법이 없다는 문제는 해결되지 않습니다.

사용자에게 이러한 문제를 가장 잘 해결하도록 조언하려면 어떻게 해야 합니까?

사용자에게 설치하라고 조언하는 정확한 명령은 다음과 같습니다.python3 -m pip install --user foo-1.0.tar.gz

답변1

IRC에서 Ubuntu 개발자와 이야기를 나눈 후 이제 Ubuntu는 Debian을 따르고 폴더가 존재하는 경우 PATH에 ~/bin을 추가한다는 것을 이해했습니다. ~/.local/bin에 대해 동일한 작업을 수행할 계획은 없습니다. 따라서 최종 사용자는 수동으로 경로를 조정하거나 심볼릭 링크 등을 추가해야 합니다. 애플리케이션 개발자로서 저는 이러한 작업 중 일부를 수행하는 Ubuntu 및 Debian 사용자를 위한 특별한 설치 스크립트가 필요할 것 같습니다. 이는 정말 부끄러운 일입니다. 나는 이것이 pip에 의존하는 다른 모든 Python 애플리케이션 개발자에게도 영향을 미칠 것이라고 확신합니다.

관련 정보