python setup.py install
(나중에) 사용하고 사용할 수 있도록 제가 작성한 간단한 애플리케이션을 패키징하려고 합니다 pip install awesomeapp
.
애플리케이션은 동일한 디렉터리에 있는 두 개의 파일로 구성됩니다.
awesomeapp
awesomemod.py
awesomeapp
시작 스크립트(Python에서도 마찬가지)는 어디에 있고 실행됩니다 import awesomemod
. 모든 것이 잘 작동하고 전반적으로 훌륭합니다. 다음으로 setup.py
다음과 같은 파일을 만들었습니다 .
from distutils.core import setup
setup(name='awesomeapp',
version='1.4',
scripts=['awesomeapp'],
py_modules=['awesomemod'],
install_requires=['otherapp>1.0'],
description='amazing app which does awesome things',
# ...
platforms='UNIX',
long_description='bar',
)
이제 (pip도 포함)를 사용한 설치가 sudo python setup.py install
제대로 작동합니다. OSX에서는 모든 것이 예상대로 작동합니다. 그러나 Ubuntu(정확하고 안정적으로 테스트됨)에서는 오류가 발생합니다.
traceback (most recent call last):
File "/usr/local/bin/awesomeapp", line 12, in <module>
import awesomemod
ImportError: No module named awesomemod
awesomeapp
스크립트를 실행할 때 . 그러나 sudo
발견된 모듈을 사용하여 스크립트를 실행하면. 루트가 아닌 사용자가 읽을 수 없는 /usr/local/lib/python2.7/dist-packages
권한으로 모듈이 설치되었습니다 . -rw-r-----
일반 사용자가 내 애플리케이션을 실행하는 데 루트가 필요하지 않도록 하려면 무엇을 변경해야 합니까?
답변1
.bash_profile
내 파일에서 범인을 찾은 것 같습니다. 항목이 포함되어 있습니다
umask 027
해당 줄을 주석 처리하면 권한이 수정됩니다!