모든 사용자가 어디서나 Python 파일에 액세스할 수 있도록 설정

모든 사용자가 어디서나 Python 파일에 액세스할 수 있도록 설정

다음 Python 스크립트를 실행해야 하는 프로그램을 설치했습니다.

python fit_locus.py --help

모든 사용자가 Python 파일 폴더로 이동하지 않고도 홈 폴더에서 해당 명령을 실행할 수 있도록 파일에 액세스할 수 있도록 만들고 싶습니다.

PATH 변수에 설치 폴더를 추가하고 /bin 및 /usr/bin에 있는 파일에 대한 심볼릭 링크를 만들어 보았지만 작동하지 않았습니다.

이것이 가능합니까, 아니면 사용자에게 프로그램이 설치된 폴더로 이동하도록 요청해야 합니까?

편집: 내 경로 변수는 다음과 같습니다.

내보내기 없음:

/gasgano/bin:/opt/intel/composer_xe_2011_sp1.9.293/bin/intel64:/usr/local/sbin:/‌​usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/esoreflex/bin:/‌​opt/intel/composer_xe_2011_sp1.9.293/mpirt/bin/intel64

내보내기의 경우:

/gasgano/bin:/opt/intel/composer_xe_2011_sp1.9.293/bin/intel64:/usr/local/sbin:/‌​usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/esoreflex/bin:/‌​opt/intel/composer_xe_2011_sp1.9.293/mpirt/bin/intel64:/opt/big-macs-calibrate/

경로는 /opt/big-macs/calibrate/Python 스크립트 fit_locus.py가 포함된 경로입니다.

편집 2:

제가 모든 사용자에게 제공하려는 프로그램 설치 지침 중에는 다음과 같은 작은 안내서가 있습니다.

환경 변수를 설정합니다.

1 - BIGMACS 설치 디렉토리 경로

예를 들어,

setenv BIGMACS /Users/ronald/big-macs-calibrate/ (tcsh shell)      
BIGMACS=/Users/ronald/big-macs-calibrate/ (bash shell)
export BIGMACS

2 - PYTHONPATH에 설치 디렉터리 추가

예를 들어,

setenv PYTHONPATH $BIGMACS:PYTHONPATH (tcsh shell)
PYTHONPATH=$BIGMACS:PYTHONPATH
export PYTHONPATH

하지만 그것도 작동하지 않습니다. 실행하려고 할 때 발생하는 오류는 python fit_locus.py --help다음과 같습니다.

python: can't open file 'fit_locus.py': [Errno 2] No such file or directory

답변1

이와 같은 작업을 쉽게 실행하려면 Python 스크립트의 첫 번째 줄에 다음을 추가하세요.

#! /usr/bin/python

그리고 파일 자체는 실행 가능해야 합니다. 즉, x 비트가 설정되어야 합니다 chmod +x fit_locus.py.

수정된 경로에 스크립트가 있으므로 사용자는 이름만 입력하면 됩니다. 단순화를 위해 ".py"를 제거하여 사용자가 입력만 할 수 있도록 할 수 있습니다.

fit_locus --help

사용자에게 Python 스크립트임을 알리고 싶은 이유가 없다면 말이죠.

답변2

또 다른 방법은 데스크톱 실행 프로그램을 만드는 것입니다. 이는 파일의 정확한 경로를 지정합니다. 그런 다음 실행 프로그램을 각 사용자의 데스크탑에 복사할 수 있습니다. 또 다른 접근 방식은 각 사용자의 홈 폴더에 들어가는 더 작은 시작 스크립트를 사용하는 것입니다. 하지만 시작하려면 스크립트 이름 앞에 ./, ~/ 또는 $HOME/을 사용해야 합니다.

그러나 각 사용자의 .bashrc 또는 .profile을 수정하는 경우 각 사용자의 $PATH의 시작 또는 끝에 폴더를 추가할 수 있습니다. 이는 로그인할 때마다 적용되는 영구적인 변경 사항입니다. 그래서 몇 가지 옵션이 있습니다.

관련 정보